📜  在Python中打开一个文件

📅  最后修改于: 2022-05-13 01:54:22.609000             🧑  作者: Mango

在Python中打开一个文件

Python提供了用于创建、写入和读取文件的内置函数。 Python可以处理两种类型的文件,普通文本文件和二进制文件(用二进制语言编写, 0s1s )。

  • 文本文件:在这种类型的文件中,每一行文本都以一个称为EOL(行尾)的特殊字符结尾,默认情况下它是Python中的字符( '\n' )。
  • 二进制文件:在这种类型的文件中,行没有结束符,数据在转换成机器可以理解的二进制语言后存储。

打开文件

打开文件是指准备好文件以供读取或写入。这可以使用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读取文件的内容。

# 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()

输出:

python-打开文件