文件操作
bytes ------> encode(编码) ------> 字符串 字符串 ------> decode(解码) ------> bytes #bytes(要转换成bytes的字符串,一定要指定编码模式encoding = 'utf-8') 打开文件: with open('a.txt','r',encoding='utf-8') as f1,\ # \可以换行避免一行上有太多内容,打开多个文件用逗号隔开。 open('b.txt','w',encoding='utf-8',newline = '') as f2: # 读取文件中真正的换行符号 文件读取 with open("filename") as file_object(文件内容将要存放的变量名): text1 = file_object.read() # 全部读取 text2 = file_object.readlines() # 逐行读取,text2是一个列表,每一个元素代表一行数据 文件写入 with open("filename",'w') as file_object: # 文件的各种打开模式 w 以写方式打开, a 以追加模式打开 (从 EOF 开始, 必要时创建新文件) r+ 以读写模式打开 w+ 以读写模式打开 (参见 w ) a+ 以读写模式打开 (参见 a ) rb 以二进制读模式打开 wb 以二进制写模式打开 (参见 w ) ab 以二进制追加模式打开 (参见 a ) rb+ 以二进制读写模式打开 (参见 r+ ) wb+ 以二进制读写模式打开 (参见 w+ ) ab+ 以二进制读写模式打开 (参见 a+ ) 如果你省略了模式实参,Python将以默认的只读模式打开文件。 # python 只能将字符串写入文件 file_object.write("要写入的数据") # 写入多行需要添加换行符 file_object.write("I love python\n") 打开文本文件: 出现错误: UnicodeDecodeError: 'gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequence # 可以使用‘ignore’属性忽略非法字符,errors='ignore' # 指明打开方式参数encoding='utf-8',encoding='gbk',encoding='gb18031' 存储数据: json是一个模块,使用前需提前导入 json.dump(),json.load() json.dump()接受两个参数,要存储的数据以及可用于存储数据的文件对象(文件名以.json结尾) json.load()将文件中的数据加载到内存中 增删目录(文件夹): >>> os.path.join('C:\\Users\\12164\\Desktop','test') # 拼接目录 'C:\\Users\\12164\\Desktop\\test' >>> os.mkdir('C:\\Users\\12164\\Desktop\\test') # 创建目录 >>> os.rmdir('C:\\Users\\12164\\Desktop\\test') # 删除目录 文件方法: seek(0) 光标的移动 有三种模式 0,1,2:倒着移动光标 tell() 返回光标在哪 只有read读的是字符,其他方式都是字节(seek,tell) 循环文件的推荐方式: f = open('a.txt','r',encoding = 'utf-8') for i in f: # 一行一行读取,要一行给一行