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 @   chease  阅读(60)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示