【发布时间】:2017-12-12 22:14:33
【问题描述】:
我有一个包含随机字母、数字和字符的文本文件。在打印过程时,我必须删除特殊字符并且只以字母数字结尾。
文本文件是这样的:
fkdjks97#!%&jd
28e8uw99...
等等
由于某种原因,它正在打印:
Line read' ,,s.8,ymsw5w-86
'
' ,,s.8,ymsw5w-86
'->' <filter object at 0x0000020406BC8550> '
这些应该只有 2 行,而不是 4 行。像这样:
行读取' ,,s.8,ymsw5w-86'
' ,,s.8,ymsw5w-86' -> 's8ymsw5w86'
我的尝试:
file1 = open(textfile1,"r")
while True:
line = file1.readline()
line2 = filter(str.isalnum,line)
print("Line read'", str(line), "'")
print("'", str(line), "'->'", line2, "'")
if len(line) == 0:
break
【问题讨论】:
-
在 Python 3 中,
filter是一个需要具体化为序列对象的对象,例如list或str,例如list(filter(...或''.join(filter(...
标签: python file filter alphanumeric