【python】文件操作

在项目实践中,我们经常会遇到读取、操作文件的情况,今天简单总结一下在python中操作文件的知识。

一、打开文件。

第一种方式:

filepath = "abc.text"
file = open(filepath, mode="r")
try:
    filecontent = file.read()
finally:
    file.close()  # 此时,文件被显示关闭

在上述代码中
1 abc.text是文件路径和名称
2 mode是打开文件的模式。
打开文件模式总结
第二种方式:

filepath = "abc.text"
with open(filepath, mode="r") as file:
    filecontent = file.read()  # 此时,文件自动关闭(隐式关闭)

with open(…) as file : 是使用上下文管理器的方式,确保文件在使用后被正确关闭,即使在处理文件时发生异常也能保证关闭。

两种方式比较:
比较以上两种写法,更推荐第二种,代码更简洁,第一种写法如果没有及时close文件,容易有内存泄露的风险。

二、读文件。
第一种方式:

file_path = "abc.text"
with open(file_path, 'r') as file:
    lines = file.readlines()
    print(lines)  # ['helloword~~']
    print(type(lines))  # <class 'list'>
    print(lines[0])  # helloword~~

1 readlines用于逐行读取文件
2 将每一行存储在字符串保存在列表中
3 可以用索引下标来访问固定行,比如lines[0]

第二种方式:

file_path = "abc.text"
with open(file_path,'r') as file:
    line = file.readline()
    while line != '':
        print(line.strip())
        line = file.readline()

1 readline用于读取文件中的一行作为字符串返回,文件读取完毕,返回空字符串

比较以上两种方式:
1 readline一次性读取整个文件的所有行,并返回一个包含所有行的列表
2 readline 逐行读取文件,每次调用返回文件中的一行,适用于处理大型文件,减少内存占用
3 readlines 返回包含换行符的每一行,而readline 返回单独的行,需要手动去除换行符(line.strip())

三、写文件。
写入文本文件

filepath = "abc.text"
with open(filepath, mode="w") as file:
    file.write('helloword~~')

写入CSV文件
这是在实际应用中遇到的一个问题:写入csv文件时,长整型显示为科学记数法,解决办法:
将写入的内容转为string类型,再在值后面加"\t"
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值