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

小万哥
• 阅读 325

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

文件处理

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

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

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

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

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

语法

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

f = open("demofile.txt")

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

f = open("demofile.txt", "rt")

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

打开服务器上的文件

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

demofile.txt
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!

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

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

f = open("demofile.txt", "r")
print(f.read())

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

f = open("D:\\myfiles\\welcome.txt", "r")
print(f.read())

只读取文件的一部分

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

f = open("demofile.txt", "r")
print(f.read(5))

读取行

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

f = open("demofile.txt", "r")
print(f.readline())

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

f = open("demofile.txt", "r")
print(f.readline())
print(f.readline())

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

f = open("demofile.txt", "r")
for x in f:
  print(x)

关闭文件

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

f = open("demofile.txt", "r")
print(f.readline())
f.close()

写入现有文件

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

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

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

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

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

创建新文件

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

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

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

f = open("myfile.txt", "w")

删除文件

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

import os
os.remove("demofile.txt")

检查文件是否存在:

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

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

删除文件夹

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

import os
os.rmdir("myfolder")

最后

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

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

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

点赞
收藏
评论区
推荐文章
半臻 半臻
3年前
Python基础8——文件操作
16文件操作16.1文件操作的基本概念文件操作的步骤1.打开文件2.读、写文件3.关闭文件open函数,创建一个file对象,默认是以只读的方式打开read方法:一次性读取文件的所有内容write方法:将指定内容写入文件close方法:关闭文件file对象的属性flie.name文件的名称file.mode文件的访问模式file.closed
Stella981 Stella981
3年前
Python File(文件) 方法
Python File(文件)方法open()方法Pythonopen()方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出OSError。注意:使用open()方法一定要保证关闭文件对象,即调用close()方法
Wesley13 Wesley13
3年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Stella981 Stella981
3年前
Python计算大文件行数方法及性能比较
如何使用Python快速高效地统计出大文件的总行数,下面是一些实现方法和性能的比较。1.readline读所有行使用readlines方法读取所有行:defreadline_count(file_name):returnlen(open(file_name).readlines())
Stella981 Stella981
3年前
Python之文件处理
Python之文件处理不同模式打开文件的完全列表:模式描述r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。r打开一个文件用于读写。文件指针将会放在文件的开头。r
Python进阶者 Python进阶者
8个月前
读取设置密码保护的excel文件,有没有更好的办法?
大家好,我是Python进阶者。一、前言前几天在Python最强王者交流群【wen】问了一个Python处理Excel加密文件读取问题。问题如下:请教:读取设置了密码保护的exlce文件,dfpd.readexcel(file,password'12345
Python进阶者 Python进阶者
1年前
读取xlsm格式的文件,该表格只有一个,但是通过python读取,却显示两个表格?
大家好,我是皮皮。一、前言前几天在最强王者交流群【wen】问了一个Python处理Excel文件相关的问题,一起来看看吧。请教问题:读取xlsm格式的文件,该表格只有一个名字为"销售明细(2)"的表格,但是通过python读取该文件,却显示两个表格,分别为
小万哥 小万哥
10个月前
C 语言文件处理全攻略:创建、写入、追加操作解析
C语言中的文件处理在C语言中,您可以通过声明类型为FILE的指针,并使用fopen()函数来创建、打开、读取和写入文件:cFILEfptr;fptrfopen(filename,mode);FILE基本上是一个数据类型,我们需要创建一个指针变量来使用它(f
小万哥 小万哥
10个月前
C 语言文件读取全指南:打开、读取、逐行输出
C语言中的文件读取要从文件读取,可以使用r模式:cFILEfptr;//以读取模式打开文件fptrfopen("filename.txt","r");这将使filename.txt打开以进行读取。在C中读取文件需要一点工作。坚持住!我们将一步一步地指导您。
小万哥 小万哥
8个月前
Java 文件处理完全指南:创建、读取、写入和删除文件详细解析
Java文件操作文件处理简介文件处理是任何应用程序的重要部分。Java提供了许多用于创建、读取、更新和删除文件的方法。Java文件处理Java中的文件处理主要通过java.io包中的File类完成。该类允许我们处理文件,包括创建、读取、写入和删除文件。创建