python io

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:
    line=f.readline() #
    while line:
        print(line)
        line = f.readline()

# 第二种:直接打开读
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\n")
    f.write("bbbb\n")
    f.flush()  #刷新缓冲区,立马写入文件

可以反复调用write()来写入文件,但是务必要调用f.close()来关闭文件。当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了。所以,还是用with语句来得保险。
另外如果想立马写入文件,可以通过 f.flush() 实现。
参考:https://www.liaoxuefeng.com/wiki/1016959663602400/1017607179232640

3、csv文件读写

posted @ 2021-06-24 16:23  chease  阅读(59)  评论(0编辑  收藏  举报