斤斤计较之Python:文件读写
1、open()
f = open(‘filename’, ‘w’, enoding = ‘utf-8’) # filename为文件名后者文件地址加文件名 w为模式模式一共有四种,默认为utf-8编码模式。
‘r’ : 时表示只是读取文件;
‘w’ :表示只是写入文件(已经存在的同名文件将被删掉);
‘a’ :表示打开文件进行追加,写入到文件中的任何数据将自动添加到末尾;
‘r+’ :表示打开文件进行读取和写入;
‘b’ : 以 二进制模式 打开文件。
mode: 参数是可选的,默认为 ‘r’ 。
f.read() # 读取文件的所有内容
f.readline() # 读取文件的一行
f.readlines() # 读取文件的所有行
f.write(string) # 写入字符串到文件中,注意写入时必须为字符串形式,读取出来的内容也都是字符串的形式
f.close() # 关闭文件流,释放占用的系统资源
使用with关键字进行打开文件的操作有一个很大的优势是:文件使用完毕会自动关闭文件。
with open(‘filename’, ‘r’) as f:
read_data = f.read()
2、使用 json 存储结构化数据
json.dumps([1, ‘simple’, ‘list’]) # 存入json一个列表值,存入为字符串的形式,读取时使用eval可以转换成列表。
注意将python的数据结构转换成字符串的形式称之为序列化,将字符串重新装换成python的数据结构成为反序列化。
pickle 模块是python独有的一个协议,默认情况下是不安全的,反序列化构造的内容会存在任意命令执行漏洞。