我有一个文本文件,我必须从中读取很多数字(双倍)。 它具有像DLE,NUL等ASCII控制字符,在文本文件中可见。所以 当我读取它们只从一行获得双打/整数时,我得到的错误就像“无效的文字\ x10”。下面显示的是我文件的前两行。
DLE NUL NUL NUL [1, 167, 133, 6]DLE NUL NUL
YS FS NUL[0.0, 4.3025989e-07, 1.5446712e-06, 3.1393029e-06, 5.0430463e-06, 7.1382601e-06
如何使用Python一次从文本文件中删除所有这些控制字符?我想要 这是在我将文件解析为数字之前完成的......
感谢任何帮助!
答案 0 :(得分:2)
>>> import string
>>> filter(string.printable.__contains__, '\x00\x01XYZ\x00\x10')
'XYZ'
答案 1 :(得分:0)
我知道这是一个很老的帖子,但我正在回答,我想,它可以帮助别人。
我做了如下。它将用空字符串替换所有ASCII控制字符。
line = re.sub(r'[\x00-\x1F]+', '', line)
Ref: ASCII (American Standard Code for Information Interchange) Code