我真的很难过为什么这不起作用。我想做的就是从文件中读取内容中删除zwsp(u200b),换行符和额外空格。
最后,我想把它写成一个新的文件,我有功能,但还没有达到所需的格式。
我的输入(一个简短的测试文件,其中包含zwsp / u200b)包含以下内容:
Australia 1975
Adelaide 2006 23,500
Brisbane (Logan) 2006 29,700
Brisbane II (North Lakes) 2016 29,000
Austria 1977
Graz 1989 26,100
Innsbruck 2000 16,000
Klagenfurt 2008 27,000
我的代码如下:
input_file = open('/home/me/python/info.txt', 'r')
file_content = input_file.read()
input_file.close()
output_nospace = file_content.replace('\u200b' or '\n' or ' ', '')
print(output_nospace)
f = open('nospace_u200b.txt', 'w')
f.write(output_nospace)
f.close()
然而,这并不像我期望的那样有效。
虽然它删除了u200b,但它不会删除换行符或空格。我必须通过检查作为我脚本的一部分生成的输出文件来测试是否缺少u200b。
如果我删除其中一项操作,例如/ u200b,就像这样:
output_nospace = file_content.replace('\n' or ' ', '')
...然后确定生成的文件没有换行符或空格,但u200b保持预期。恢复到本文顶部描述的原始版本,它不会删除u200b,换行符和空格。
有谁能告诉我这里做错了什么?你可以链接这样的列表操作吗?我怎样才能让它发挥作用?
感谢。
答案 0 :(得分:0)
正如@twotwotwo所指出的,.replace链的以下实现解决了这个问题。
output_nospace = \
file_content.replace('\u200b', '').replace('\n', '').replace(' ', '')
非常感谢你指出我正确的方向。 :)