如何解决如何仅从python中的文件中删除某些内容
我正在尝试从 .txt 文件中删除所有问号 ('?')。 我尝试标记所有内容并将其打印回如下:
with open('my.txt','r') as f:
tokenized = f.split()
for i in len(tokenized):
if tokenized[i] == '?':
tokenized.remove('?')
with open('my.txt','w') as f:
f.write(' '.join(tokenized))
但它不会删除所有问号,如果有任何换行符或空格超过 1,它会删除它们。
解决方法
with open("my.txt","r") as f:
content = f.read().split("?")
with open("my.txt","w") as f:
f.write("".join(content))
您也可以使用 replace。
,您可以使用 string.replace:
with open('my.txt','r') as f:
content = f.read()
with open('my.txt','w') as f:
f.write(content.replace('?',''))
您的解决方案的问题在于您使用 string.split 而没有为 separator
提供任何参数。默认情况下,它将针对任何空格(包括换行符或多个空格)。但是你只加入一个空格,所以最终结果可能会有所不同。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。