首页 > 解决方案 > 编码问题,在哪里放置“忽略”?

问题描述

我正在使用 Python 3.7,我应该编写一个代码来遍历文件夹中的所有文件。但是,某些文件具有不同的编码,我想忽略该"UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 1637错误。我设法将参数errors='ignore'放入其他代码段,并且效果很好。但是我不知道在哪里插入这段代码:

import glob, os, fileinput
from glob import glob
root_dir = os.getcwd()
os.chdir(root_dir)
for filename in glob('*.txt'):
with fileinput.FileInput(filename, inplace=True) as file:
            for line in file: 
            print(line.replace('| |', '|'), end='') 

谢谢!

标签: python-3.x

解决方案


通过指定模式绕过它。

with fileinput.FileInput(filename, inplace=True,mode='r') as file:

整个代码。

import glob, os, fileinput
from glob import glob
root_dir = os.getcwd()
os.chdir(root_dir)
for filename in glob('*.txt'):
    with fileinput.FileInput(filename, inplace=True,mode='r') as file:
        for line in file:
                print(line.replace('| |', '|'), end='')

推荐阅读