下面是一个Python脚本的示例,用于批量转换指定目录下所有文件的编码。这个例子假设我们想要将文件从GBK编码转换为UTF-8编码。请确保在运行此脚本之前,你已经安装了Python环境。
import os
def convert_file_encoding(file_path, src_encoding='gbk', dst_encoding='utf-8'):
"""
转换文件的编码
:param file_path: 文件路径
:param src_encoding: 源编码,默认为'gbk'
:param dst_encoding: 目标编码,默认为'utf-8'
"""
with open(file_path, 'r', encoding=src_encoding) as file:
content = file.read()
with open(file_path, 'w', encoding=dst_encoding) as file:
file.write(content)
def batch_convert_encoding(directory, src_encoding='gbk', dst_encoding='utf-8'):
"""
批量转换指定目录下所有文件的编码
:param directory: 目录路径
:param src_encoding: 源编码,默认为'gbk'
:param dst_encoding: 目标编码,默认为'utf-8'
"""
for root, dirs, files in os.walk(directory):
for file in files:
file_path = os.path.join(root, file)
try:
convert_file_encoding(file_path, src_encoding, dst_encoding)
print(f"Converted: {file_path}")
except Exception as e:
print(f"Failed to convert {file_path}: {e}")
if __name__ == "__main__":
# 设置需要转换编码的目录路径
directory_to_convert = 'path/to/your/directory'
batch_convert_encoding(directory_to_convert)
请将此脚本中的`directory_to_convert`变量的值更改为你要转换编码的目录路径。这个脚本会遍历指定目录下的所有文件,并尝试将它们从GBK编码转换为UTF-8编码。如果遇到无法转换的文件(例如,非文本文件或已经是UTF-8编码的文件),它会捕获异常并打印错误信息。
注意:在运行此脚本之前,请确保备份你的文件,以防万一发生数据丢失或损坏的情况。