python文件操作

这篇博客主要介绍了Python在Windows环境下如何进行文件操作。内容包括使用`with`关键字和`open()`函数打开并读取文件,强调了文件操作需遵循的打开、操作、关闭原则。示例代码展示了读取文件`book.txt`的全部内容,并提到了文件路径和不同打开模式的使用,如写入模式`'w'`。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境:windows 版本python3

这里讨论常用的文件打开方法
python的文件操作很简单,但是依然要遵循先打开后操作再关闭的原则。

先来看这样一个例子:

with open('book.txt') as file_object:
 contents = file_object.read()
 print(contents)

这个示例的作用是读取名为“book.txt”的文件并打印它的全部内容。
我们来分析一下,这对于后面内容的掌握将更为有利。

第一行代码:
函数open(),无论对文件进行什么样的操作,打开它是第一步,打开后才能访问,open()接受的参数为需要操作的文件名称,函数open()将返回一个表示问价的对象,在这里,“file_object”就是存储这个对象的文件变量,接下来的操作将围绕它展开。
关键字with,with在这里作用是当我们不需要访问文件时将其关闭,我们注意到在这里我们调用了open()却没有调用close(),就是关键字with的作用,这样做的好处是我们不需要自行判断文件需要在哪里关闭,以免在错误的位置调用了close()时导致程序出错。

如果调用close(),程序将会是下面这样:

file_object = open('book.txt')
contents = file_object.read()
print(contents)
file_object.close()

结果和上面是完全相同的

方法read(),方法read()的作用是读取整个文件,我们将读取后的内容保存在了变量“contents”中,接下来打印“contents”就可以得到整个文件的内容。

这里需要注意一点,上述的文件“book.txt”和你当前的程序文件在同一目录下才可以这样操作,如果想要操作其他目录的文件需要输入完整的路径。

接下来介绍文件的写入
来看一个例子:`

with open('programming.txt','w') as file_object:
 file_object.write('I love python.')

上述的代码和之前读取文件的样子很相似,不同的地方就是后面的打开模式*‘w’*,open()函数有非常多的打开模式,分别对应你对文件操作不同的需求,例举如下:

模式功能
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头
r+打开一个文件用于读写。文件指针将会放在文件的开头
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值