Python文件处理

简介: Python文件处理

Python 文件处理

文件处理是任何 Web 应用程序的重要组成部分。

Python 有几个用于创建、读取、更新和删除文件的函数。

文件处理

在 Python 中使用文件的关键函数是 open() 函数。

open() 函数有两个参数:文件名和模式。

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

"r" - 读取 - 默认值。打开文件进行读取,如果文件不存在则报错。

"a" - 追加 - 打开供追加的文件,如果不存在则创建该文件。

"w" - 写入 - 打开文件进行写入,如果文件不存在则创建该文件。

"x" - 创建 - 创建指定的文件,如果文件存在则返回错误。

此外,您可以指定文件是应该作为二进制还是文本模式进行处理。

"t" - 文本 - 默认值。文本模式。

"b" - 二进制 - 二进制模式(例如图像)。

语法

此外,您可以指定文件是应该作为二进制还是文本模式进行处理:

f = open("demofile.txt")

以上代码等同于:

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() 方法用于读取文件的内容:

实例

f = open("demofile.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()

注释:在某些情况下,由于缓冲,您应该始终关闭文件,在关闭文件之前,对文件所做的更改可能不会显示。

Python 文件写入

写入已有文件

如需写入已有的文件,必须向 open() 函数添加参数:

  • "a" - 追加 - 会追加到文件的末尾
  • "w" - 写入 - 会覆盖任何已有的内容

实例

打开文件 "demofile2.txt" 并将内容追加到文件中:

f = open("demofile2.txt", "a")
f.write("Now the file has more content!")
f.close()
# 追加后,打开并读取该文件:
f = open("demofile2.txt", "r")
print(f.read())

实例

打开文件 "demofile3.txt" 并覆盖内容:

f = open("demofile3.txt", "w")
f.write("Woops! I have deleted the content!")
f.close()
# 写入后,打开并读取该文件:
f = open("demofile3.txt", "r")
print(f.read())

注释:"w" 方法会覆盖全部内容。

创建新文件

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

"x" - 创建 - 将创建一个文件,如果文件存在则返回错误

"a" - 追加 - 如果指定的文件不存在,将创建一个文件

"w" - 写入 - 如果指定的文件不存在,将创建一个文件

实例

创建名为 "myfile.txt" 的文件:

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

结果:已创建新的空文件!

实例

如果不存在,则创建新文件:

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

Python 删除文件

删除文件

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

实例

删除文件 "demofile.txt":

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() 方法:

实例

删除文件夹 "myfolder":

import os
os.rmdir("myfolder")

提示:您只能删除空文件夹。

相关文章
|
6月前
|
Python
【python】文件处理详解(上)
【python】文件处理详解(上)
40 0
|
Python
python文件处理-excel格式处理
python文件处理-excel格式处理
117 0
python文件处理-excel格式处理
|
存储 数据处理 索引
【100天精通python】Day27:文件与IO操作_CSV文件处理
【100天精通python】Day27:文件与IO操作_CSV文件处理
73 0
|
5月前
|
存储 运维 算法
Python文件处理(IO 技术)-2
Python文件处理(IO 技术)
|
1月前
|
存储 JSON 数据格式
Python 输入输出与文件处理: io、pickle、json、csv、os.path 模块详解
Python 输入输出与文件处理: io、pickle、json、csv、os.path 模块详解
28 0
|
1月前
|
Python
Python 中的文件处理与系统模块详解
Python 中的文件处理与系统模块详解
18 0
|
6月前
|
存储 Python
Python 文件处理
Python 文件处理
41 0
|
3月前
|
程序员 Python
深入探讨Python中的文件处理
【8月更文挑战第20天】
37 0
|
5月前
|
数据管理 Python 内存技术
python WAV音频文件处理—— (2)处理PCM音频-- waveio包
python WAV音频文件处理—— (2)处理PCM音频-- waveio包
87 15
|
5月前
|
存储 Python 内存技术
python WAV音频文件处理—— (1)读写WAV文件
python WAV音频文件处理—— (1)读写WAV文件
132 14