步骤:
问题:
不知何故,我不知道如何,DBF文件中的一行转换出ASCII不可打印的字符SUB。 Python将此视为文件的结尾,因此我不知道我还没有正确终止字符串。
如果没有Python翻转,我怎样才能在Windows机器上用其他任何东西替换所有ASCII符号?
答案 0 :(得分:2)
您可以使用re模块替换不可打印的符号,但这可能无法解决您在此处遇到的问题。 DBF是一种二进制文件格式,其中有许多非ascii字符。
import re
ascii_sym_re = re.compile(r'[\x00-\x09\x0b-\x1f\x7f-\xff]', re.DOTALL|re.MULTILINE)
print ascii_sym_re.sub('.', 'hello\x1athere')
with open('somefile','rb') as fp_in, open('somefile-scrubbed', 'wb') as fp_out:
fp_out.write(ascii_sym_re.sub('.', fp_in.read())