python 文件操作

在Python3中,进行文件操作的主要方式是使用内置的 open() 函数。该函数接受一个文件名和一个模式参数,并返回一个文件对象,我们可以在该对象上执行读取或写入操作。

以下是一些常见的文件操作及其示例:

  1. 打开文件

我们可以使用 open() 函数打开一个文件并获得文件对象。例如,以下代码打开一个名为 "example.txt" 的文件以供读取:

file = open("example.txt", "r")

在这个例子中,我们使用了 "r" 模式将文件对象设置为只读模式。

  1. 读取文件内容

一旦我们有了文件对象,就可以使用 read() 方法读取文件内容。例如,以下代码读取整个文件并将其存储在一个字符串变量中:

file_content = file.read()
print(file_content)

在这个例子中,我们调用了 read() 方法来读取文件内容,并将结果存储在 file_content 变量中。我们还使用 print() 函数输出了该变量的值。

  1. 写入文件内容

我们可以使用 write() 方法将数据写入文件。例如,以下代码向一个名为 "output.txt" 的文件中写入一行文本:

with open("output.txt", "w") as f:
    f.write("Hello, world!")

在这个例子中,我们使用了 "w" 模式来打开一个名为 "output.txt" 的文件,它会创建一个新文件(如果该文件不存在),并将文件对象存储在变量 f 中。然后,我们使用了 with 语句来确保在完成写入操作后正确关闭文件。

  1. 迭代文件内容

我们可以使用 readlines() 方法一次读取文件的所有行,并将它们存储在一个列表中。例如,以下代码迭代一个名为 "example.txt" 的文件中的所有行:

with open("example.txt", "r") as f:
    for line in f:
        print(line.strip())

在这个例子中,我们使用了 with 语句打开一个名为 "example.txt" 的文件,并在迭代文件的每一行时使用 print() 函数输出该行(去掉末尾的换行符)。

除了上述示例外,Python还提供了许多其他的文件操作功能,如文件重命名、创建和删除目录等等。这些功能都可以通过标准库中的 osshutil 模块实现。

下面是其他一些常见的文件操作及其示例:

  1. 关闭文件

在完成对文件的读写操作后,我们应该使用 close() 方法关闭文件。例如:

file = open("example.txt", "r")
# do something with the file...
file.close()

在这个例子中,我们使用 open() 函数打开一个名为 "example.txt" 的文件,并在使用文件对象进行读取或写入操作后使用 close() 方法关闭文件。

  1. 判断文件是否存在

我们可以使用 os.path.exists() 函数来检查文件是否存在。例如,以下代码检查一个名为 "example.txt" 的文件是否存在:

import os

if os.path.exists("example.txt"):
    print("The file exists!")
else:
    print("The file does not exist.")

在这个例子中,我们导入了 os 模块,并使用 os.path.exists() 函数检查文件是否存在。如果文件存在,则输出 "The file exists!";否则输出 "The file does not exist."。

  1. 复制文件

我们可以使用 shutil 模块的 copy() 函数复制文件。例如,以下代码将一个名为 "example.txt" 的文件复制到一个名为 "backup.txt" 的文件中:

import shutil

shutil.copy("example.txt", "backup.txt")

在这个例子中,我们导入了 shutil 模块,并使用 copy() 函数将 "example.txt" 文件复制到 "backup.txt" 文件中。

  1. 删除文件

我们可以使用 os.remove() 函数删除文件。例如,以下代码删除一个名为 "example.txt" 的文件:

import os

os.remove("example.txt")

在这个例子中,我们导入了 os 模块,并使用 os.remove() 函数删除 "example.txt" 文件。

posted @   乐瓜乐虫  阅读(80)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示