ky818smKy818sm  2025-03-22 12:20 旷野小站 隐藏边栏 |   抢沙发  8 
文章评分 0 次,平均分 0.0

有许多以前的TXT格式的书籍,由于里面的中文字符编码不是UTF-8,所以只能在电脑上阅读才能正常显示,而放在网上在线阅读时,总是一堆乱码。

为了更方便的阅读,需要将这些txt文件的编码转换成UTF-8。由于文件太多。需要进行批量转换。用 Python 脚本来实现这一功能是一个不错的办法。

首先需要在电脑上下载并安装好Python。我这是windows11系统的电脑所以用的是这个python-3.13.2-amd64.exe.安装时要记得勾选 “Add Python to PATH” 选项。

安装好Python后,再需要在命令行安装chardet库。进入Python安装目录的Scripts目录下,我的是这里:C:\Users\Administrator\AppData\Local\Programs\Python\Python313\Scripts在浏览器地址栏输入cmd,进入命令模式输入:

pip install chardet

这样就安装完成了。

然后用代码编辑器写好脚本并保存为your.py文件。

import os<br />
import chardet</p>
<p>def convert_to_utf8(file_path):<br />
try:<br />
with open(file_path, 'rb') as file:<br />
raw_data = file.read()<br />
result = chardet.detect(raw_data)<br />
encoding = result['encoding']<br />
if encoding.lower() != 'utf-8':<br />
content = raw_data.decode(encoding, errors='ignore')<br />
with open(file_path, 'w', encoding='utf-8') as new_file:<br />
new_file.write(content)<br />
print(f'{file_path} 已从 {encoding} 转换为 UTF - 8')<br />
else:<br />
print(f'{file_path} 已经是 UTF - 8 编码')<br />
except FileNotFoundError:<br />
print(f'文件 {file_path} 未找到。')<br />
except PermissionError:<br />
print(f'没有权限访问文件 {file_path}。')<br />
except UnicodeDecodeError as ude:<br />
print(f'解码文件 {file_path} 时出错: {ude}')<br />
except Exception as e:<br />
print(f'处理 {file_path} 时发生未知错误: {e}')</p>
<p>def batch_convert(folder_path):<br />
try:<br />
for root, dirs, files in os.walk(folder_path):<br />
for file in files:<br />
if file.endswith('.txt'):<br />
file_path = os.path.join(root, file)<br />
convert_to_utf8(file_path)<br />
except FileNotFoundError:<br />
print(f'文件夹 {folder_path} 未找到。')<br />
except PermissionError:<br />
print(f'没有权限访问文件夹 {folder_path}。')<br />
except Exception as e:<br />
print(f'处理文件夹 {folder_path} 时发生未知错误: {e}')</p>
<p>if __name__ == "__main__":<br />
folder_path = r'your_folder_path'  # 请替换为包含 TXT 文件的文件夹路径<br />
batch_convert(folder_path)
进入you.py文件目录运行它就可以了。

这段代码能够递归地对指定目录下的多级子目录中的所有 .txt 文件进行编码转换。

声明:本站许多内容均从网上收集整理,若有内容侵犯到您的权益,请通过邮件【6167555@qq.com】联系本站,我们将及时删除!

有问题请点我联系站长

「点点赞赏,手留余香」
HIDE

声明:本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享