前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 文件处理指南:打开、读取、写入、追加、创建和删除文件

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

原创
作者头像
小万哥
发布2023-11-06 21:15:20
3790
发布2023-11-06 21:15:20
举报
文章被收录于专栏:程序人生丶

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

文件处理

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

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

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

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

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

语法

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

代码语言:python
代码运行次数:0
复制
f = open("demofile.txt")

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

代码语言:python
代码运行次数:0
复制
f = open("demofile.txt", "rt")

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

打开服务器上的文件

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

代码语言:python
代码运行次数:0
复制
demofile.txt
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!

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

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

代码语言:python
代码运行次数:0
复制
f = open("demofile.txt", "r")
print(f.read())

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

代码语言:python
代码运行次数:0
复制
f = open("D:\\myfiles\\welcome.txt", "r")
print(f.read())

只读取文件的一部分

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

代码语言:python
代码运行次数:0
复制
f = open("demofile.txt", "r")
print(f.read(5))

读取行

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

代码语言:python
代码运行次数:0
复制
f = open("demofile.txt", "r")
print(f.readline())

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

代码语言:python
代码运行次数:0
复制
f = open("demofile.txt", "r")
print(f.readline())
print(f.readline())

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

代码语言:python
代码运行次数:0
复制
f = open("demofile.txt", "r")
for x in f:
  print(x)

关闭文件

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

代码语言:python
代码运行次数:0
复制
f = open("demofile.txt", "r")
print(f.readline())
f.close()

写入现有文件

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

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

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

代码语言:python
代码运行次数:0
复制
f = open("demofile3.txt", "w")
f.write("Woops! I have deleted the content!")
f.close()

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

创建新文件

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

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

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

代码语言:python
代码运行次数:0
复制
f = open("myfile.txt", "w")

删除文件

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

代码语言:python
代码运行次数:0
复制
import os
os.remove("demofile.txt")

检查文件是否存在:

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

代码语言:python
代码运行次数:0
复制
import os
if os.path.exists("demofile.txt"):
  os.remove("demofile.txt")
else:
  print("The file does not exist")

删除文件夹

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

代码语言:python
代码运行次数:0
复制
import os
os.rmdir("myfolder")

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文件处理
  • 语法
  • 读取行
  • 关闭文件
  • 写入现有文件
  • 创建新文件
  • 删除文件
  • 删除文件夹
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档