Python 是一门优秀的开发语言,它不仅是一种动态的脚本语言,还支持多种应用场景。在 Python 中,我们可以使用文件和 I/O 操作来读取和写入文件。它比起其他编程语言,使用更加方便。
1.读写文本文件
在 Python 中,读写文本文件是最基本的 I/O 操作。Python 提供一个内置函数 open()
来打开文件。我们需要指定文件路径和打开模式。在读取文本文件时,我们可以使用以下模式:
'r'
:只读模式。'w'
:只写模式。'a'
:追加模式。'x'
:独占模式,只有在文件不存在时才创建。'b'
:二进制模式。't'
:文本模式。
默认情况下,'r'
模式打开的是文本文件模式,如果我们需要打开二进制文件,则需要使用 'rb'
模式。下面是一个读取文本文件的例子:
# 打开文件
file = open("example.txt", "r")
# 读取文件内容
content = file.read()
# 打印文件内容
print(content)
# 关闭文件
file.close()
我们首先使用 open()
函数打开一个名为 "example.txt"
的文件来读取文件内容。然后使用 read()
方法一次性读取整个文件。最后,使用 close()
方法关闭文件。
还可以逐行读取文件内容,示例代码如下:
# 打开文件
file = open("example.txt", "r")
# 逐行读取文件内容
for line in file:
print(line)
# 关闭文件
file.close()
更多编程和项目管理相关文章,收藏我的个人博客(http://www.poycode.cn)
在这个例子中,我们使用 for
循环读取文件中的每一行,并使用 print()
方法输出。在循环结束后,我们使用 close()
方法关闭文件。
如果我们想逐行读取一个文本文件的所有内容并将其保存在列表中,可以使用以下代码:
# 打开文件
file = open("example.txt", "r")
# 读取文件内容并保存在列表中
lines = file.readlines()
# 打印列表内容
print(lines)
# 关闭文件
file.close()
readlines()
方法会逐行读取文件内容并将其保存在一个列表中。接下来的代码打印列表中的所有内容,并关闭文件。
我们还可以更进一步,使用 with
关键字
with open('example.txt', 'r') as file:
lines = file.readlines()
print(lines)
这样做的好处显而易见,我们无需手动调用 file.close()
方法关闭文件,with语句会自动关闭文件。
要写一个文本文件,我们可以将打开模式设置为 w
(写模式)或 a
(追加模式)。下面是一个示例:
# 打开文件,可以使用 mode="a" 将内容追加到文件末尾
file = open("example.txt", "w")
# 写入文件内容
file.write("This is some example text#")
# 关闭文件
file.close()
在此示例中,我们将模式设置为 w
,这意味着我们将使用文件绑定的文件对象覆盖任何先前的内容,并将新的文本数据写入文件。然后,我们可以使用 write()
方法写入内容,最后,使用 close()
方法关闭文件。
同样地,我们也可以用with
语句来写文件,当然更推荐大家这样去做,有兴趣的朋友可以参照 with
读取文件,动手写一写用 with
关键字打开文件并写入内容。
2.读写二进制文件
读写二进制文件与读写文本文件的方法类似,但需要使用不同的打开模式。以下是可用的模式:
'b'
:二进制模式。'r+b'
:二进制模式,允许读取和写入文件。
请注意,如果要在打开二进制文件时启用读取和写入功能,必须使用模式 r+b
。下面是一个示例:
# 打开二进制文件,模式为 读写
with open('example.bin', 'rb') as file:
data = file.read()
print(data)
在这个例子中,我们首先将模式设置为 r+b
,这样我们就可以通过文件对象读取并写入文件,而不需要打开和关闭文件。
要写二进制文件,我们可以使用以下代码:
# 打开二进制文件,模式为只写
file = open("example.dat", "wb")
# 写入文件内容
file.write(b"Example contents for binary file.")
# 关闭文件
file.close()
在这个例子中,我们使用模式 wb
打开一个名为 "example.dat"
的二进制文件。使用 write()
方法写入二进制数据,最后使用 close()
方法关闭文件。
当我们将二进制数据写入文件后,我们可以使用以下代码读取文件:
# 打开二进制文件,模式为只读
file = open("example.dat", "rb")
# 读取文件内容
content = file.read()
# 关闭文件
file.close()
在这个例子中,我们使用模式 rb
打开一个名为 "example.dat"
的二进制文件。使用 read()
方法读取内容,最后使用 close()
方法关闭文件。
python教程:poycode.cn
3.文本和二进制文件互相转换
在 Python 中,我们可以使用 open()
方法打开一个文件,然后读取或写入该文件。在读取和写入文件时,我们可以指定模式。这样,我们可以打开文本或二进制文件,并进行读写操作。
有时,我们可能需要将一种文件类型转换为另一种文件类型。在将文本文件转换为二进制文件之前,我们需要将文本编码为字节。当我们将二进制文件读取到内存中时,我们需要将字节解码为文本。这些编码和解码过程可以使用 Python 提供的 encode()
和 decode()
方法实现。以下是一个文本和二进制文件互相转换的示例:
# 打开文本文件并读取内容
with open("example.txt", "r") as text_file:
text_content = text_file.read()
# 将文本编码为字节
binary_content = text_content.encode()
# 将二进制数据写入文件
with open("example.dat", "wb") as binary_file:
binary_file.write(binary_content)
# 从二进制文件中读取二进制数据
with open("example.dat", "rb") as binary_file:
binary_content = binary_file.read()
# 将二进制数据解码为文本
text_content = binary_content.decode()
# 将文本数据写入文件
with open("example.txt", "w") as text_file:
text_file.write(text_content)
在这个例子中,我们首先打开文本文件并读取内容。使用 encode()
方法将文本编码为字节,并将其写入一个名为 "example.dat"
的二进制文件。然后,我们打开二进制文件并读取内容。最后使用 decode()
方法将二进制数据解码为文本,并将新的文本数据写入某个名称为 "example.txt"
的文本文件中。
4.结论
在 Python 中,读写文件是常见的 I/O 操作。我们可以使用 open()
函数来打开文件,并指定读写模式。
它支持多种模式,包括文本和二进制模式。在读取和写入文件时,我们可以使用 read()
和 write()
方法,以及一些其他方法来操作文件数据。还可以将文本和二进制文件互相转换,这可以用于在两种文件类型之间进行转换。
本教程介绍了在 Python 中读写文件和操作文件的主要方法,包括读取和写入文本文件和二进制文件。IO操作是Python编程中非常重要的一部分,希望大家能够认真学习和掌握。
[…] 在上述代码中,我们使用with语句打开名为test.txt的文件,并读取其中的内容。在with语句块执行完毕后,文件会自动关闭,避免了手动调用close()方法的繁琐操作,也避免了因忘记关闭文件而导致的资源泄漏等问题。 关于文件读写的详细教程,可以阅读我的个人博客:Poycode编程指南 上的文章: Python文件和IO操作:读写文本文件、读写二进制文件 […]
[…] 在上述代码中,我们使用with语句打开名为test.txt的文件,并读取其中的内容。在with语句块执行完毕后,文件会自动关闭,避免了手动调用close()方法的繁琐操作,也避免了因忘记关闭文件而导致的资源泄漏等问题。 关于文件读写的详细教程,可以阅读我的个人博客:Poycode编程指南 上的文章: Python基础教程:读写文件和IO操作 […]