轻松掌握Python文件操作:20个实用函数详解

在Python编程中,文件操作是一项基本且重要的技能。掌握正确的文件操作方法,能够帮助我们高效地处理数据,实现各种功能。本文将详细介绍Python中20个实用的文件操作函数,帮助读者轻松掌握文件操作技巧。
1.
open()
open()
函数用于打开一个文件,并返回一个文件对象。该函数的语法如下:
open(filename, mode=’r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
filename
:要打开的文件名或路径。
mode
:文件打开模式,如 ‘r’(只读)、’w’(写入)、’a’(追加)等。
buffering
:缓冲模式,用于控制文件读写的缓冲方式。
encoding
:文件的编码方式,用于指定文件的字符编码。
errors
:处理编码错误的策略。
newline
:换行符的处理方式。
closefd
:控制文件描述符的关闭。
opener
:用于打开文件的函数。
示例:
with open(‘example.txt’, ‘r’, encoding=’utf-8′) as file:
content = file.read()
print(content)
2.
read()
read()
方法用于读取整个文件内容。如果文件很大,可能会导致内存消耗过多。
content = file.read()
3.
readline()
readline()
方法用于逐行读取文件内容。
line = file.readline()
4.
readlines()
readlines()
方法将文件内容按行读取到列表中。
lines = file.readlines()
5.
write()
write()
方法用于写入文件内容。
file.write(‘Hello, world!’)
6.
writelines()
writelines()
方法用于写入多个字符串到文件。
file.writelines([‘Hello, ‘, ‘world!’])
7.
seek()
seek()
方法用于移动文件指针到指定位置。
file.seek(10)
8.
tell()
tell()
方法用于获取当前文件指针的位置。
position = file.tell()
9.
flush()
flush()
方法用于刷新文件缓冲区,将缓冲区内容写入文件。
file.flush()
10.
close()
close()
方法用于关闭文件。
file.close()
11.
with open()
with open()
语句用于简化文件操作,自动关闭文件。
with open(‘example.txt’, ‘r’) as file:
content = file.read()
print(content)
12.
os.path
os.path
模块提供了一系列用于处理文件路径的函数。
import os

# 获取文件路径
path = os.path.join(‘path’, ‘to’, ‘file.txt’)

# 获取文件大小
size = os.path.getsize(path)

# 判断文件是否存在
exists = os.path.exists(path)
13.
os.listdir()
os.listdir()
函数用于获取指定目录下的所有文件和文件夹名称。
import os

files = os.listdir(‘path/to/directory’)
14.
os.makedirs()
os.makedirs()
函数用于创建目录,如果目录中存在同名目录,将抛出异常。
import os

os.makedirs(‘path/to/new/directory’)
15.
os.rmdir()
os.rmdir()
函数用于删除空目录。
import os

os.rmdir(‘path/to/directory’)
16.
os.remove()
os.remove()
函数用于删除文件。
import os

os.remove(‘path/to/file.txt’)
17.
shutil
shutil
模块提供了一系列用于文件和目录操作的函数。
import shutil

# 复制文件
shutil.copy(‘path/to/source.txt’, ‘path/to/destination.txt’)

# 复制目录
shutil.copytree(‘path/to/source’, ‘path/to/destination’)

# 移动文件
shutil.move(‘path/to/source.txt’, ‘path/to/destination.txt’)

# 删除目录
shutil.rmtree(‘path/to/directory’)
18.
csv
csv
模块用于读写CSV文件。
import csv

# 写入CSV文件
with open(‘example.csv’, ‘w’, newline=”) as file:
writer = csv.writer(file)
writer.writerow([‘Name’, ‘Age’, ‘City’])
writer.writerow([‘Alice’, 25, ‘New York’])

# 读取CSV文件
with open(‘example.csv’, ‘r’) as file:
reader = csv.reader(file)
for row in reader:
print(row)
19.
json
json
模块用于读写JSON文件。
import json

# 写入JSON文件
with open(‘example.json’, ‘w’) as file:
data = {‘Name’: ‘Alice’, ‘Age’: 25, ‘City’: ‘New York’}
json.dump(data, file)

# 读取JSON文件
with open(‘example.json’, ‘r’) as file:
data = json.load(file)
print(data)
20.
pickle
pickle
模块用于序列化和反序列化Python对象。
import pickle

# 序列化对象
data = {‘Name’: ‘Alice’, ‘Age’: 25, ‘City’: ‘New York’}
with open(‘example.pkl’, ‘wb’) as file:
pickle.dump(data, file)

# 反序列化对象
with open(‘example.pkl’, ‘rb’) as file:
data = pickle.load(file)
print(data)
以上是Python中20个实用的文件操作函数,希望对您的编程之路有所帮助。