我正在处理一个.txt文件。我想从文件中没有非ASCII字符的文本字符串。但是,我想留下空格和句号。目前,我也在剥离它们。代码如下:
def onlyascii(char):
if ord(char) < 48 or ord(char) > 127: return ''
else: return char
def get_my_string(file_path):
f=open(file_path,'r')
data=f.read()
f.close()
filtered_data=filter(onlyascii, data)
filtered_data = filtered_data.lower()
return filtered_data
我应该如何修改onlyascii()来保留空格和句号?我想这不是太复杂,但我想不出来。
发布于 2012-01-01 02:29:33
您可以使用 string.printable 过滤字符串中不可打印的所有字符,如下所示:
>>> s = "some\x00string. with\x15 funny characters"
>>> import string
>>> printable = set(string.printable)