1.在创建一个文件,写入并读取的过程中,遇到了一个问题,就是怎么都读取报错说格式不对,网上给的解释:
出现这种问题绝大部分情况是因为文件不是 UTF8 编码的(例如,可能是 GBK 编码的),而系统默认采用 UTF8 解码。解决方法是改为对应的解码方式。
下面是我修改后的代码:
import os;
os.chdir('C:/Users/zhaohua')
f = open('新建文件2.txt','w',encoding = 'UTF-8')
f.close();
f = open('新建文件2.txt','a',encoding = 'UTF-8')
f.write("锄禾日当午\n汗滴禾下土\n谁知盘中餐\n粒粒皆辛苦");
f.close();
f = open('新建文件2.txt','r',encoding = 'UTF-8')
g = [print(i) for i in f.readlines()]
第三行最初没有加入encoding = 'UTF-8',导致报错。说明使用open+w创建出来的文件都是gbk编码。
-
time函数的相互转化:
Timestamp是时间戳
struct_time是标准时间格式
Format string是格式化的字符串格式
2019214-161844.jpg
3.列表,字典,元组,字符串,集合是可迭代对象,用下面语句可以判断
from collections import Iterable
isinstance(type,Iterable)
但是上面说的都不是迭代器,如果想变成迭代器,就必须使用下面语句转化,然后才可以用next()函数来迭代
from collections import Iterator
isinstance(type,Iterator)
4.python的匿名函数的使用方法:
f = lambda x:x**3
f(2)
5.关于map函数(映射)的使用,下面写一道题目:
希望对一个输入的字符串处理,第一个字符是大写,后面都是小写。
str1 = input("输入一个字符串:")
def fun():
def fun2(str2):
return "".join(list(map(lambda x:x.lower(),str2)));
return str1[0].upper() + fun2(str1[1:])
print(fun())
6.学习类的时候遇到了title函数,这个函数作用是字符串标题划,即首字母大写,其他的小写。
7.ascii码和字符的转化和fliter函数(过滤)代码:
print("".join(list(filter(lambda x:ord(x) > 90,'asaDSADA'))));
chr(90)
ord可以将字符转为ascii码,而chr的作用则相反
8.json文件的操作:
import json;
try:
with open("username.json") as name_file:
user_name = json.load(name_file);
except FileNotFoundError:
your_name = input("please input your name:");
with open("username.json",'w') as name_file:
json.dump(your_name,name_file);
else:
print('welcome back,'+user_name);
要注意导入json模块,对json文件的读写则使用load和dump,使用with open as这个组合可以避免一些问题,比如忘记close文件。
9.学习绘制表格的库matplotlib.pyplot的时候遇到了tick_params这个函数,它的作用主要是修改坐标轴上的样式,具体内容参考这篇文章:https://blog.csdn.net/helunqu2017/article/details/78736554
10.获取国别码的时候,调用ImportError: No module named 'pygal.i18n'这个模块报错,是因为新版本python已经不支持这个模块,要重新安装:
在终端中运行下面语句(注意pip3/pip)
pip install pygal_maps_world
最后使用的时候
from pygal_maps_world.i18n import COUNTRIES;
这之后创建世界地图的函数也不支持了,wm = pygal.Worldmap()这个需要改成:
import pygal.maps.world;
wm = pygal.maps.world.World();