我的任务是从文本文件中删除所有非数字字符(包括空格),然后在旧字符旁边打印新结果,例如:
在此之前:
sd67637 8
ssheiej44
之后:
^{pr2}$由于我是个初学者,我不知道从哪里开始这项任务。我遵循了另一个用户的指示,但我不太清楚地阐述到目前为止我所拥有的。在
text1 = open('/Users/student/Desktop/Harry.txt', 'r')
data = text1.readlines()
new_string = ''.join(ch for ch in data if ch.isdigit())
print(data, '=', new_string)
但它仍然没有给我如上面所示的预期效果。相反,我得到的是:
[] =
有人能帮我解决这个问题并用外行的术语解释一下吗。在
和我在你的previous questionhere上给你的答案差不多。在
您没有调用
text1.readlines
方法。添加()
:注意,像
^{pr2}$text1
这样的文件对象可以作为迭代器工作。不需要调用.readlines()
;只需直接在text1
上循环。您的代码仍然需要调整;.readlines()
和text1
都提供了一系列行:在您的版本中,
ch
一次从文件中分配了一整行,由于每行至少包含一个新行,.isdigit()
将始终为False。在相关问题 更多 >
编程相关推荐