您的位置:

Python文件处理

一、读取文件

Python可以很方便地读取文本文件和二进制文件。文本文件的读取需要指定文件的编码方式,常见的编码方式有UTF-8和GBK。读取文件的操作可以通过open()函数来实现,该函数接受文件路径和打开模式两个参数。

# 读取文本文件
with open('test.txt', 'r', encoding='utf-8') as f:
    content = f.read()
    print(content)

# 读取二进制文件
with open('test.jpg', 'rb') as f:
    content = f.read()
    print(len(content))

二、写入文件

同样地,Python也能够很方便地向文本文件和二进制文件中写入内容。写入文件的操作需要指定打开模式为“w”或“wb”,并且需要加上换行符“\n”或者“\r\n”。

# 写入文本文件
with open('test.txt', 'w', encoding='utf-8') as f:
    f.write('Hello, world!\n')

# 写入二进制文件
with open('test.jpg', 'wb') as f:
    f.write(binary_content)

三、遍历文件夹

Python可以通过os模块中的walk()函数遍历目录下的所有文件夹和文件。walk()函数返回三个元素的元组,分别是当前文件夹的路径、当前文件夹中的子文件夹列表、当前文件夹中的文件列表。

import os

def traverse_folder(folder_path):
    for dir_path, dir_list, file_list in os.walk(folder_path):
        print('Directory: {}'.format(dir_path))
        for file_name in file_list:
            print('\t{}'.format(file_name))

traverse_folder('/path/to/folder')

四、解析CSV文件

Python中的csv模块提供了解析CSV文件的功能,可以方便地将CSV文件中的数据转化成列表或者字典的形式进行处理。

import csv

with open('data.csv', newline='') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        print(row['name'], row['age'])

五、处理JSON文件

Python内置的json模块提供了处理JSON文件的功能,可以将JSON文件中的数据转化成Python对象,也可以将Python对象转化成JSON字符串。

import json

# 解析JSON文件
with open('data.json', 'r') as f:
    data = json.load(f)
    print(data['name'], data['age'])

# 生成JSON字符串
data = {'name': 'Alice', 'age': 20}
json_str = json.dumps(data)
print(json_str)