1、普通文件读取
1.1、一次读取文件的所有内容
#第一种:readlines,将文件所用内容以行为区分读到一个列表中 ,列表中的每一个元素是一行
with open('filepath','r') as f:
lines=f.readlines() #一次读取全部内容
for line in lines:
print(line)
# 第二种: read(),函数把文件全部内容一次性读到一个字符串中
with open('filepath','r') as f:
ff=f.read()
1.2、逐行读取
#第一种:readline,一行一行的读,省内存
with open('filepath','r') as f:
lines=f.readlines() #一次读取全部内容
for line in lines:
print(line)
# 第二种:直接打开读
with open('filepath','r') as f:
for line in f:
print(line)
print('一行数据')
如果不用with,需要用f.close()关闭文件句柄
参考: https://www.cnblogs.com/mghhzAnne/p/10282964.html
2、写文件
写数据有几种不同的模式,最常用的是'w', 'a', 分别表示擦除原有数据再写入和追加模式
filename = 'write_data.txt'
with open(filename,'w') as f: # 如果不存在会自动创建, 'w'表示写数据,写之前会清空文件中的原有数据!
f.write("aaaa
")
f.write("bbbb
")
f.flush() #刷新缓冲区,立马写入文件
可以反复调用write()来写入文件,但是务必要调用f.close()来关闭文件。当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了。所以,还是用with语句来得保险。
另外如果想立马写入文件,可以通过 f.flush() 实现。
参考:https://www.liaoxuefeng.com/wiki/1016959663602400/1017607179232640
3、csv文件读写