有四种打开文件的不同方法(模式):
"r"
- 读取 - 默认值。打开文件进行读取,如果文件不存在则报错。
"a"
- 追加 - 打开供追加的文件,如果不存在则创建该文件。
"w"
- 写入 - 打开文件进行写入,如果文件不存在则创建该文件。
"x"
- 创建 - 创建指定的文件,如果文件存在则返回错误。
此外,您可以指定文件是应该作为二进制还是文本模式进行处理。
"t"
- 文本 - 默认值。文本模式。
"b"
- 二进制 - 二进制模式(例如图像)。
假设我们有以下文件,位于与 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())
注:demofile.txt是文件路径
默认情况下,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)
如需写入已有的文件,必须向 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())
如需在 Python 中创建新文件,请使用 open() 方法,并使用以下参数之一:
"x"
- 创建 - 将创建一个文件,如果文件存在则返回错误
"a"
- 追加 - 如果指定的文件不存在,将创建一个文件
"w"
- 写入 - 如果指定的文件不存在,将创建一个文件
如需删除文件,必须导入 OS 模块,并运行其 os.remove() 函数:
删除文件 “demofile.txt”:
import os
os.remove("demofile.txt")
删除文件
如需删除整个文件夹,请使用 os.rmdir() 方法:
import os
os.rmdir("myfolder")