您的位置:

Python文件处理:读写操作教程

一、文件读取

在Python中,我们可以使用内置的open()函数打开文件进行读取。

示例代码:

filename = "example.txt"
with open(filename, "r", encoding="utf-8") as file:
    contents = file.read()
    print(contents)

在以上示例中,我们使用了with语句打开文件,并指定了文件名和读取模式“r”,同时指定了编码方式为“utf-8”。使用read()函数读取文件内容并将其存储到变量contents中,并使用print()函数打印输出。

除了read()函数外,我们还可以使用readline()和readlines()函数来读取文件中的内容:

# 读取文件的第一行
with open(filename, "r") as file:
    first_line = file.readline()
    print(first_line)
    
# 读取文件的所有行并存储到列表中
with open(filename, "r") as file:
    lines = file.readlines()
    for line in lines:
        print(line.strip()) # 去除每行末尾的换行符

二、文件写入

除了读取文件,Python也提供了简单的方法来写入文件。可以使用open()函数并指定写入模式“w”:

filename = "output.txt"
with open(filename, "w", encoding="utf-8") as file:
    file.write("Hello, World!\n")

在以上示例中,我们使用with语句打开文件,指定文件名以及写入模式“w”,并指定编码方式为“utf-8”。使用write()函数向文件中写入字符串“Hello, World!”并加上一个换行符。这样文件就被创建了,并且其中的内容也被写入了。

我们也可以使用writelines()函数一次性向文件中写入多行:

lines = ["line1\n", "line2\n", "line3\n"]
with open(filename, "w") as file:
    file.writelines(lines)

三、文件编辑

在Python中,我们可以使用open()函数并指定修改模式“a”来编辑文件。这种模式下,Python会将新内容添加到文件末尾。

filename = "example.txt"
with open(filename, "a") as file:
    file.write("New content!\n")

除此之外,我们还可以使用seek()函数和tell()函数来移动文件指针。这对我们进行文件编辑操作是非常有用的。首先,使用tell()函数获取当前文件指针的位置:

filename = "example.txt"
with open(filename, "r") as file:
    print(file.tell()) # 0

然后,使用seek()函数将文件指针移动到我们想要编辑的位置。在下面的示例中,我们将文件指针移动到第11个字节的位置,并向文件中插入一段文本:

filename = "example.txt"
with open(filename, "r+") as file:
    file.seek(10)
    file.write("inserted text!\n")

四、文件操作

Python还提供了其他一些文件操作函数。我们可以使用shutil模块的copy()函数和move()函数来复制和移动文件:

import shutil

# 复制文件
file1 = "example.txt"
file2 = "copy.txt"
shutil.copy(file1, file2)

# 移动文件
file3 = "example1.txt"
shutil.move(file1, file3)

除了复制和移动文件,我们还可以使用os模块的remove()函数来删除文件:

import os

filename = "example.txt"
os.remove(filename)

五、文件格式处理

在Python中,我们可以使用内置的csv、json和xml模块来处理这些文件格式。

处理CSV文件:

import csv

filename = "example.csv"
with open(filename, newline='') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

处理JSON文件:

import json

filename = "example.json"
with open(filename) as file:
    data = json.load(file)
    print(data)

处理XML文件:

from xml.etree.ElementTree import parse

filename = 'example.xml'
tree = parse(filename)
root = tree.getroot()
for elem in root.iter():
    print(elem.tag, elem.text)

六、总结

以上是Python文件处理的基本操作,包括文件读取、写入和编辑等功能,以及常用的文件处理库。通过对这些操作和库的学习,相信你已经能够处理大部分文件处理问题了。