Python 中的文件处理是一种功能强大且多功能的工具,可用于执行各种操作。然而,在编写Python程序时仔细考虑文件处理的优点和缺点非常重要,以确保代码安全、可靠且性能良好。
Python 也支持文件处理,并允许用户处理文件,即读取和写入文件,以及许多其他文件处理选项,以对文件进行操作。文件处理的概念已经扩展到各种其他语言,但实现要么复杂要么冗长,但与 Python 的其他概念一样,这里的这个概念也简单而简短。Python将文件视为文本或二进制文件的方式有所不同,这一点很重要。每行代码都包含一个字符序列,它们形成一个文本文件。文件的每一行都以一个特殊字符终止,称为 EOL 或行尾字符,例如逗号 {,} 或换行符。它结束当前行并告诉解释器新的一行已经开始。让我们从读取和写入文件开始。
对于本文,我们将考虑以下“ \geeks.txt** ”文件作为示例。
Hello world GeeksforGeeks 123 456
在对文件执行任何操作(例如读取或写入)之前,首先,我们必须打开该文件。为此,我们应该使用Python的内置函数open(),但在打开时,我们必须指定模式,它代表打开文件的目的。
f = open(filename, mode)
其中支持以下模式:
在 Python 中读取文件的方法不止一种。让我们看看如何在读取模式下读取文件的内容。
\示例 1:** open 命令将以读取模式打开文件,for 循环将打印文件中存在的每一行。
# 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)
\输出:**
\示例 2:**在此示例中,我们将提取包含文件中所有字符的字符串,然后我们可以使用\file.read()**。
# Python code to illustrate read() mode file = open("geeks.txt", "r") print (file.read())
\示例 3:在此示例中,我们将了解如何使用****with****]语句读取文件。
# Python code to illustrate with() with open("geeks.txt") as file: data = file.read() print(data)
\示例 4:**读取文件的另一种方法是调用一定数量的字符,如以下代码所示,解释器将读取存储数据的前五个字符并将其作为字符串返回:
# Python code to illustrate read() mode character wise file = open("geeks.txt", "r") print (file.read(5))
Hello
\实施例5:**
我们在Python中读取文件时也可以进行分行。split() 函数在遇到空格时分割变量。您还可以根据需要使用任何字符进行拆分。
# Python code to illustrate split() function with open("geeks.txt", "r") as file: data = file.readlines() for line in data: word = line.split() print (word)
['Hello', 'world'] ['GeeksforGeeks'] ['123', '456']
就像在 Python 中读取文件一样,在 Python 中写入文件有多种方法。让我们看看如何使用 Python 中的 write() 函数写入文件的内容。
让我们看看如何创建文件以及写入模式如何工作。
\示例 1:**在本示例中,我们将了解如何使用写入模式和 write() 函数写入文件。close() 命令终止所有正在使用的资源并释放该特定程序的系统。
# 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()
This is the write commandIt allows us to write in a particular file
\示例 2:**我们还可以将书面语句与 with() 函数一起使用。
# Python code to illustrate with() alongwith write() with open("file.txt", "w") as f: f.write("Hello World!!!")
Hello World!!!
让我们看看追加模式是如何工作的。
\示例:**在此示例中,我们将使用上一示例中创建的文件。
# Python code to illustrate append() mode file = open('geek.txt', 'a') file.write("This will add this line") file.close()
This is the write commandIt allows us to write in a particular fileThis will add this line
文件处理中还有各种其他命令用于处理各种任务:
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.
它旨在在您使用代码时提供更清晰的语法和异常处理。这就解释了为什么在适用的情况下将它们与语句一起使用是一种很好的做法。这很有用,因为使用此方法打开的任何文件都会在完成后自动关闭,因此可以自动清理。
在此示例中,我们将涵盖上面看到的所有概念。除此之外,我们还将了解如何使用 Python os 模块中的 remove() 函数删除文件。
import os def create_file(filename): try: with open(filename, 'w') as f: f.write('Hello, world!\n') print("File " + filename + " created successfully.") except IOError: print("Error: could not create file " + filename) def read_file(filename): try: with open(filename, 'r') as f: contents = f.read() print(contents) except IOError: print("Error: could not read file " + filename) def append_file(filename, text): try: with open(filename, 'a') as f: f.write(text) print("Text appended to file " + filename + " successfully.") except IOError: print("Error: could not append to file " + filename) def rename_file(filename, new_filename): try: os.rename(filename, new_filename) print("File " + filename + " renamed to " + new_filename + " successfully.") except IOError: print("Error: could not rename file " + filename) def delete_file(filename): try: os.remove(filename) print("File " + filename + " deleted successfully.") except IOError: print("Error: could not delete file " + filename) if __name__ == '__main__': filename = "example.txt" new_filename = "new_example.txt" create_file(filename) read_file(filename) append_file(filename, "This is some additional text.\n") read_file(filename) rename_file(filename, new_filename) read_file(new_filename) delete_file(new_filename)
File example.txt created successfully. Hello, world! Text appended to file example.txt successfully. Hello, world! This is some additional text. File example.txt renamed to new_example.txt successfully. Hello, world! This is some additional text. File new_example.txt deleted successfully.
原文链接:codingdict.net