Python 文件处理指南:打开、读取、写入、追加、创建和删除文件

文件处理是任何Web应用程序的重要部分。Python有多个用于创建、读取、更新和删除文件的函数。

文件处理

在Python中处理文件的关键函数是open()函数。open()函数接受两个参数:文件名和模式。

有四种不同的方法(模式)可以打开文件:

  • "r" - 读取 - 默认值。打开一个文件以进行读取,如果文件不存在则报错。
  • "a" - 追加 - 打开一个文件以进行追加,如果文件不存在则创建文件。
  • "w" - 写入 - 打开一个文件以进行写入,如果文件不存在则创建文件。
  • "x" - 创建 - 创建指定的文件,如果文件存在则返回错误。

此外,您可以指定文件是二进制模式还是文本模式:

  • "t" - 文本 - 默认值。文本模式。
  • "b" - 二进制 - 二进制模式(例如,图像)。

语法

要打开一个文件进行读取,只需指定文件的名称:

python 复制代码
f = open("demofile.txt")

上述代码与以下代码等效:

python 复制代码
f = open("demofile.txt", "rt")

因为"r"表示读取,"t"表示文本,它们是默认值,您不需要指定它们。

打开服务器上的文件

假设我们有以下文件,位于与Python相同的文件夹中:

python 复制代码
demofile.txt
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!

要打开该文件,使用内置的open()函数。

open()函数返回一个文件对象,该对象具有用于读取文件内容的read()方法:

python 复制代码
f = open("demofile.txt", "r")
print(f.read())

如果文件位于不同的位置,您将不得不指定文件路径,如下所示:

python 复制代码
f = open("D:\\myfiles\\welcome.txt", "r")
print(f.read())

只读取文件的一部分

默认情况下,read()方法返回整个文本,但您也可以指定要返回多少个字符:

python 复制代码
f = open("demofile.txt", "r")
print(f.read(5))

读取行

您可以使用readline()方法返回一行:

python 复制代码
f = open("demofile.txt", "r")
print(f.readline())

通过调用readline()两次,您可以读取前两行:

python 复制代码
f = open("demofile.txt", "r")
print(f.readline())
print(f.readline())

通过循环遍历文件的各行,您可以一行一行地读取整个文件:

python 复制代码
f = open("demofile.txt", "r")
for x in f:
  print(x)

关闭文件

最佳实践是在使用完文件后始终关闭它。

python 复制代码
f = open("demofile.txt", "r")
print(f.readline())
f.close()

写入现有文件

要写入现有文件,您必须向open()函数添加一个参数:

  • "a" - 追加 - 将追加到文件的末尾。
  • "w" - 写入 - 将覆盖任何现有内容。
python 复制代码
f = open("demofile2.txt", "a")
f.write("Now the file has more content!")
f.close()

要检查文件是否位于不同的位置,您将不得不指定文件路径,如下所示:

python 复制代码
f = open("demofile3.txt", "w")
f.write("Woops! I have deleted the content!")
f.close()

注意:使用"w"方法将覆盖整个文件。

创建新文件

要在Python中创建新文件,请使用open()方法,使用以下参数之一:

  • "x" - 创建 - 如果文件存在则返回错误。
  • "a" - 追加 - 如果指定的文件不存在,将创建文件。
  • "w" - 写入 - 如果指定的文件不存在,将创建文件。
python 复制代码
f = open("myfile.txt", "x")

结果:创建了一个新的空文件!

python 复制代码
f = open("myfile.txt", "w")

删除文件

要删除文件,您必须导入OS模块,并运行其os.remove()函数:

python 复制代码
import os
os.remove("demofile.txt")

检查文件是否存在:

为了避免出现错误,您可能希望在尝试删除文件之前检查文件是否存在:

python 复制代码
import os
if os.path.exists("demofile.txt"):
  os.remove("demofile.txt")
else:
  print("The file does not exist")

删除文件夹

要删除整个文件夹,请使用os.rmdir()方法:

python 复制代码
import os
os.rmdir("myfolder")

最后

为了方便其他设备和平台的小伙伴观看往期文章:公众号搜索Let us Coding,或者扫描下方二维码,关注公众号,即可获取最新文章。

看完如果觉得有帮助,欢迎点赞、收藏关注

相关推荐
会的全对٩(ˊᗜˋ*)و10 分钟前
【数据挖掘】数据挖掘综合案例—银行精准营销
人工智能·经验分享·python·数据挖掘
___波子 Pro Max.29 分钟前
GitHub Actions配置python flake8和black
python·black·flake8
程序员鱼皮1 小时前
Cursor 网页版来了,这下拉屎时也能工作了
计算机·ai·程序员·开发·项目·编程经验
君爱学习1 小时前
RocketMQ延迟消息是如何实现的?
后端
Falling421 小时前
使用 CNB 构建并部署maven项目
后端
阿蒙Amon1 小时前
【Python小工具】使用 OpenCV 获取视频时长的详细指南
python·opencv·音视频
程序员小假1 小时前
我们来讲一讲 ConcurrentHashMap
后端
爱上语文1 小时前
Redis基础(5):Redis的Java客户端
java·开发语言·数据库·redis·后端