python批量修改utf-8-sig
时间: 2024-12-06 08:13:07 浏览: 21
在Python中,如果你需要批量修改UTF-8-SIG编码的文件(即包含BOM头的UTF-8编码文件),你可以使用`codecs`模块配合循环结构来实现。BOM头通常出现在文本文件的开头,并非必需,有些工具可能不支持或期望没有BOM的UTF-8编码。以下是一个简单的例子,说明如何移除文件的BOM:
```python
import os
import codecs
# 定义源目录和目标目录(假设源目录下有待处理的UTF-8-SIG文件)
source_dir = 'path_to_your_source_directory'
target_dir = 'path_to_save_modified_files'
if not os.path.exists(target_dir):
os.makedirs(target_dir)
for filename in os.listdir(source_dir):
if filename.endswith('.txt'): # 只处理.txt文件,可根据需要调整过滤条件
with codecs.open(os.path.join(source_dir, filename), 'r', encoding='utf_8_sig') as f_in:
content = f_in.read()
# 移除BOM头
without_bom = content[3:]
with codecs.open(os.path.join(target_dir, filename), 'w', encoding='utf-8') as f_out:
f_out.write(without_bom)
```
在这个脚本中,我们首先打开文件读取内容,然后跳过前三个字节(即BOM头),再将剩下的内容写入新的文件,新文件将以纯UTF-8编码保存。
阅读全文