📅  最后修改于: 2023-12-03 15:22:04.323000             🧑  作者: Mango
在 Python 中,我们可以使用文件形式来读取数据或者将数据存储到文件中。这是非常常见的操作,因为我们通常需要把数据持久化下来,以便后续的操作。在本文中,我们将介绍如何在 Python 中打开文件并进行相关的操作。
我们可以使用 open()
函数来打开一个文件。这个函数需要两个参数,第一个参数是指定文件的路径和名称,第二个参数则是打开文件的模式(读、写还是追加等等)。
f = open('file.txt', 'r')
在上面的代码中,我们以只读模式打开了一个名为 file.txt
的文件。在使用完文件后,我们需要关闭它来释放资源:
f.close()
在实际使用中,我们通常使用 with
关键字来打开文件,这样可以自动释放资源,并且代码看上去更加简洁:
with open('file.txt', 'r') as f:
# some code here
在使用 with
语句的时候,当程序执行完缩进部分的语句后,会自动关闭文件。
下面是常用的文件打开模式:
r
:只读模式w
:写入模式,如果文件不存在则创建一个新文件,如果文件已存在则清空原有内容x
:排他模式,只能用于新文件写入,如果文件已存在则会抛出异常a
:追加模式,如果文件存在则在文件末尾写入,否则会创建一个新文件b
:二进制模式,通常用于读写二进制文件t
:文本模式,通常用于读写文本文件我们可以组合不同的模式来进行读写操作,比如:
# 读取文本文件
with open('file.txt', 'rt') as f:
# some code here
# 写入二进制文件
with open('file.bin', 'wb') as f:
# some code here
在打开了文件之后,我们可以使用 read()
函数来读取文件的内容:
with open('file.txt', 'r') as f:
contents = f.read()
print(contents)
在上述的例子中,我们使用 read()
函数将整个文件读取到了内容中。read()
函数默认情况下会读取整个文件,如果文件过大可能会导致内存溢出。因此,我们可以通过限制读取的字节数来避免这种情况的发生:
with open('file.txt', 'r') as f:
contents = f.read(1024) # 读取 1024 个字节
print(contents)
除了 read()
函数之外,我们还可以使用其他的函数来逐行读取文件,比如:
readline()
:逐行读取文件,返回一个字符串readlines()
:返回一个列表,每个列表项是一行文本除了读取文件之外,我们还可以很方便地通过打开文件并写入数据来操作文件。
with open('file.txt', 'w') as f:
f.write('hello, world!')
在上述的例子中,我们打开了一个文件并用 write()
函数将字符串 hello, world!
写入到了文件中。
为了避免每次都覆盖原有的内容,我们可以使用追加模式来添加新的内容:
with open('file.txt', 'a') as f:
f.write('some new content')
在上述的例子中,我们使用追加模式将新的字符串添加到了文件的末尾。
最后,我们需要注意以下几个点:
with
语句来打开文件以便自动释放资源flush()
函数来将缓冲区的数据写入到磁盘中综上所述,文件操作是非常重要的 Python 技能之一,掌握了文件操作,我们就可以方便地读取和写入各种类型的数据,以便在代码中进行处理和分析。