在Python中打开一个文件
Python提供了用于创建、写入和读取文件的内置函数。 Python可以处理两种类型的文件,普通文本文件和二进制文件(用二进制语言编写, 0s
和1s
)。
- 文本文件:在这种类型的文件中,每一行文本都以一个称为EOL(行尾)的特殊字符结尾,默认情况下它是Python中的字符(
'\n'
)。 - 二进制文件:在这种类型的文件中,行没有结束符,数据在转换成机器可以理解的二进制语言后存储。
Refer the below articles to get the idea about basics of file handling.
- Basics of file handling
- Reading and Writing to file
打开文件
打开文件是指准备好文件以供读取或写入。这可以使用open()
函数来完成。此函数返回一个文件对象并接受两个参数,一个接受文件名,另一个接受模式(访问模式)。现在,问题来了,什么是访问模式?
访问模式控制打开文件中可能的操作类型。它指的是文件打开后将如何使用。这些模式还定义了文件句柄在文件中的位置。文件句柄就像一个游标,它定义了必须从哪里读取或写入文件中的数据。 Python中有6种访问模式。
- 只读 ('r'):打开文本文件进行阅读。句柄位于文件的开头。如果文件不存在,则引发 I/O 错误。这也是打开文件的默认模式。
- 读写('r+'):打开文件进行读写。句柄位于文件的开头。如果文件不存在,则引发 I/O 错误。
- 只写('w'):打开文件进行写入。对于现有文件,数据将被截断并覆盖。句柄位于文件的开头。如果文件不存在,则创建文件。
- Write and Read ('w+'):打开文件进行读写。对于现有文件,数据将被截断并覆盖。句柄位于文件的开头。
- Append Only ('a'):打开文件进行写入。如果文件不存在,则创建该文件。句柄位于文件的末尾。正在写入的数据将插入到末尾,在现有数据之后。
- Append and Read ('a+'):打开文件进行读写。如果文件不存在,则创建该文件。句柄位于文件的末尾。正在写入的数据将插入到末尾,在现有数据之后。
句法:
File_object = open(r"File_Name", "Access_Mode")
注意:该文件应与Python脚本存在于同一目录中,否则应写入文件的完整地址。
示例 #1:假设文本文件看起来像这样
我们想使用Python读取文件的内容。
# Python program to demonstrate
# opening a file
# Open function to open the file "myfile.txt"
# (same directory) in read mode and store
# it's reference in the variable file1
file1 = open("myfile.txt")
# Reading from file
print(file1.read())
file1.close()
输出:
Welcome to GeeksForGeeks!!
示例 #2:假设我们想使用Python将更多数据写入上述文件。
# Python program to demonstrate
# opening a file
# Open function to open the file "myfile.txt"
# (same directory) in append mode and store
# it's reference in the variable file1
file1 = open("myfile.txt", "a")
# Writing to file
file1.write("\nWriting to file :)")
# Closing file
file1.close()
输出: