📜  Python中的文件处理

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

Python中的文件处理

Python也支持文件处理并允许用户处理文件,即读取和写入文件,以及许多其他文件处理选项,以对文件进行操作。文件处理的概念已经延伸到其他各种语言,但实现要么复杂要么冗长,但与Python的其他概念一样,这里的这个概念也简单而简短。 Python将文件视为文本或二进制文件的方式不同,这很重要。每行代码都包含一系列字符,它们形成文本文件。文件的每一行都以一个特殊字符结束,称为 EOL 或行尾字符,如逗号 {,} 或字符。它结束当前行并告诉解释器一个新行已经开始。让我们从读取和写入文件开始。

open()函数的工作

在对文件执行任何操作(如读取或写入)之前,首先我们必须打开该文件。为此,我们应该使用 Python 的内置函数open()

但是在打开的时候,我们要指定模式,它代表了打开文件的目的。

f = open(filename, mode)

支持以下模式的地方:

  1. r:打开现有文件进行读取操作。
  2. w:打开现有文件进行写操作。如果文件已经包含一些数据,那么它将被覆盖。
  3. a:打开现有文件进行追加操作。它不会覆盖现有数据。
  4. r+:读取和写入数据到文件中。文件中之前的数据不会被删除。
  5. w+:写入和读取数据。它将覆盖现有数据。
  6. a+:从文件中追加和读取数据。它不会覆盖现有数据。

看看下面的例子:

Python3
# a file named "geek", will be opened with the reading mode.
file = open('geek.txt', 'r')
# This will print every line one by one in the file
for each in file:
    print (each)


Python3
# Python code to illustrate read() mode
file = open("file.txt", "r")
print (file.read())


Python3
# Python code to illustrate read() mode character wise
file = open("file.txt", "r")
print (file.read(5))


Python3
# Python code to create a file
file = open('geek.txt','w')
file.write("This is the write command")
file.write("It allows us to write in a particular file")
file.close()


Python3
# Python code to illustrate append() mode
file = open('geek.txt','a')
file.write("This will add this line")
file.close()


Python3
# Python code to illustrate with()
with open("file.txt") as file: 
    data = file.read()
# do something with data


Python3
# Python code to illustrate with() alongwith write()
with open("file.txt", "w") as f:
    f.write("Hello World!!!")


Python3
# Python code to illustrate split() function
with open("file.text", "r") as file:
    data = file.readlines()
    for line in data:
        word = line.split()
        print (word)


open 命令将以读取模式打开文件,for 循环将打印文件中存在的每一行。

read() 模式的工作

在Python中读取文件的方法不止一种。如果您需要提取包含文件中所有字符的字符串,那么我们可以使用file.read() 。完整的代码将像这样工作:

Python3

# Python code to illustrate read() mode
file = open("file.txt", "r")
print (file.read())

另一种读取文件的方法是调用一定数量的字符,如下面的代码,解释器将读取存储数据的前五个字符并将其作为字符串返回:

Python3

# Python code to illustrate read() mode character wise
file = open("file.txt", "r")
print (file.read(5))

使用 write() 模式创建文件

让我们看看如何创建文件以及写入模式如何工作:
要操作该文件,请在Python环境中编写以下代码:

Python3

# Python code to create a file
file = open('geek.txt','w')
file.write("This is the write command")
file.write("It allows us to write in a particular file")
file.close()

close() 命令终止所有正在使用的资源并释放该特定程序的系统。

append() 模式的工作

让我们看看附加模式是如何工作的:

Python3

# Python code to illustrate append() mode
file = open('geek.txt','a')
file.write("This will add this line")
file.close()

文件处理中还有各种其他命令用于处理各种任务,例如:

rstrip(): This function strips each line of a file off spaces from the right-hand side.
lstrip(): This function strips each line of a file off spaces from the left-hand side.

它旨在在您使用代码时提供更简洁的语法和异常处理。这就解释了为什么在适用的情况下将它们与声明一起使用是一种很好的做法。这很有帮助,因为使用此方法打开的任何文件都将在完成后自动关闭,因此自动清理。
例子:

Python3

# Python code to illustrate with()
with open("file.txt") as file: 
    data = file.read()
# do something with data

使用 write 和 with()函数

我们还可以将 write函数与 with()函数一起使用:

Python3

# Python code to illustrate with() alongwith write()
with open("file.txt", "w") as f:
    f.write("Hello World!!!")

split() 使用文件处理

我们还可以使用Python中的文件处理来分割行。当遇到空间时,这会拆分变量。您也可以根据需要使用任何字符进行拆分。这是代码:

Python3

# Python code to illustrate split() function
with open("file.text", "r") as file:
    data = file.readlines()
    for line in data:
        word = line.split()
        print (word)

还有各种其他功能可以帮助操作文件及其内容。可以在Python Docs 中探索各种其他功能。