Python 文件操作

前言

 Python文件操作在实际应用中非常广泛,例如:

  • 文件读取和处理
  • 文件写入和记录
  • 文件拷贝和移动
  • 批量处理文件
  • CSV或Excel文件处理

以上仅是部分应用场景,实际上文件操作在各种程序中都扮演着重要的角色。无论是处理文本文件、日志记录、数据导入导出、文件管理等,Python 文件操作可以提供丰富而灵活的功能来满足不同的需求。 


基本操作方法

Python 提供了丰富的文件操作功能,使你能够读取、写入、创建和管理文件。

  • 打开文件

可以使用open()函数来打开一个文件,该函数会返回一个文件对象。需要注意的是当以读的模式打开文件时,文件必须存在,不然会报错,若以写的模式打开不存在的文件,将会自动创建个文件。

示例:

f=open(file='./example.txt',mode='w+',encoding='utf-8')  #只读模式打开example.txt文件,'utf-8'编码

 也可以这么写

f=open('./example.txt','w+',encoding='utf-8')

open()函数的参数:

1.file:要打开的文件路径和名称(使用字符串表示)

  • 可以是相对路径或绝对路径。
  • 绝对路径(Absolute Path):从文件系统的根目录开始直到目标文件或目录的完整路径。例如,在Windows系统中,绝对路径可以是类似于C:\Users\Username\Documents\example.txt 的形式,其中 C:\ 是根目录,后面紧跟着一系列目录层级。
  • 相对路径(Relative Path):相对路径是相对于当前工作目录(当前所在位置)来指定文件或目录的路径。与绝对路径不同,相对路径不需要从根目录开始,而是从当前位置出发。例如,假设当前工作目录为 C:\Users\Username\Documents,要指向同一目录下的 example.txt 文件,可以使用相对路径 example.txt 或 .\example.txt。另外,.. 表示上一级目录,可以在相对路径中使用。例如,如果当前工作目录为C:\Users\Username\Documents,要指向上一级目录的 example.txt 文件,可以使用相对路径 ..\example.txt。相对路径更具灵活性,特别适合在项目内部进行文件路径引用。

2.mode:指定文件的打开模式

  • 'r':只读模式(默认)。打开后只能读取文件内容,不能写入或修改。
  • 'w':写入模式。打开后会清空文件内容,如果文件不存在则创建新文件。
  • 'a':追加模式。打开后在文件末尾追加内容,如果文件不存在则创建新文件。
  • 'x':独占创建模式。只能用于创建新文件,如果文件已经存在,则报错。
  • 'b':二进制模式。与上述模式结合使用,表示以二进制格式打开文件。
  • 't':文本模式(默认)。与上述模式结合使用,表示以文本格式打开文件。
  • '+':读写模式。与上述模式结合使用,表示可同时进行读取和写入操作。

绝对路径:以反斜杠('\')开头

相对路径:以斜杆('/')开头

3.encoding:指定文件的编码格式。

  • 只在文本模式下有效,用于读取和写入文本时的编码处理。
  • 常见的编码如'utf-8'、'gbk'等。

4.当然还有其他可选参数。


 读取文件内容

打开文件后,可以使用以下方法来读取文件内容:

  • read():以字符串形式一次性读取整个文件的内容,并将其返回。
  • readline():每次读取文件的一行内容,并以字符串形式返回。连续调用可以逐行读取整个文件。
  • readlines():一次性将文件的所有行读取到一个列表中,并返回该列表。每行作为列表的一个元素,保留了换行符('\n')。

这三个方法都可以传入一个整型参数,限制读取字符个数。当以行为读取单位时只会读取限制字符个数内的每一行。

  •  read()

使用read方法读取文件的整个内容。

示例:

f=open('./example.txt','r',encoding='utf-8')
text=f.read()
print(text)
f.close()

'''
输出结果为:
青青子衿,悠悠我心。
纵我不往,子宁不嗣音?
青青子佩,悠悠我思。
纵我不往,子宁不来?
挑兮达兮,在城阙兮。
一日不见,如三月兮。
'''

传入参数 

只读取文件内容的5个字符。

f=open('./example.txt','r',encoding='utf-8')
text=f.read(5)
print(text)
f.close()

'''
输出结果为:
青青子衿,
'''

  • readline()

使用readline()方法读取文件内容的第一行。

示例:

f=open('./example.txt','r',encoding='utf-8')
text=f.readline()
print(text)
f.close()

'''
输出结果为:
青青子衿,悠悠我心。
'''

  • readlines()

读取文件内容的所有行。

示例:

f=open('./example.txt','r',encoding='utf-8')
text=f.readlines()
print(text)
f.close()

'''
输出结果为:
['青青子衿,悠悠我心。\n', '纵我不往,子宁不嗣音?\n',
'青青子佩,悠悠我思。\n', '纵我不往,子宁不来?\n',
'挑兮达兮,在城阙兮。\n', '一日不见,如三月兮。\n']
'''

写入文件

  • write():将指定字符串内容写入文件。
  • writelines():将字符串列表逐行写入文件。

write()方法将字符串写入文件时不会自动添加换行符,而writelines()方法会保留列表中每个元素的换行符。

  • write()

写入两个字符串。

 示例:

f=open('./example.txt','w',encoding='utf-8')
f.write('一个荔子\n')
f.write('两个荔子')
f.close()
'''
文件内容结果为:
一个荔子
两个荔子
'''

  •  writelines()

写入字符串列表。

示例:

f=open('./example.txt','w',encoding='utf-8')
lines=['line1\n','line2','line3']
f.writelines(lines)
f.close()
'''
文件内容结果为:
line1
line2line3
'''

关闭文件

关闭文件是一个重要的操作,可以释放资源并确保文件的完整性。

可以使用close()方法关闭文件对象。

示例:

f=open('./example.txt','w+',encoding='utf-8')
f.write('hello')
f.close()  #关闭文件

可以使用with() 语句来打开文件,with语句会在代码块执行结束后自动关闭文件。

示例:

with open('./example.txt','r') as f:
    print(f.read())
#自动关闭文件

总结

通过以上操作,你可以实现对文件的基本读写操作。同时,还有其他方法可用于读取文件的部分内容、逐行读取文件、复制和移动文件等高级文件操作。

在进行文件操作时,也要注意文件的编码方式和异常处理,以确保正确读取和写入数据,并避免潜在的错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Indifferent-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值