我正在读取一个文本文件并提取两个按空格分割的列并将它们写入另一个文本文件。某些行中有' - '字符。我想删除它们并写入。以下代码有什么问题?我使用了line.replace()也没用。
fo = open('referrer.txt','rw')
try:
for line in open('c1'):
if line.startswith('#'):
continue
else:
resource = line.split(' ')[5]
fo.write(re.sub('-',' ',line.split(' ')[11]) +' '+resource + '\n')
except:
pass
fo.close()
更多信息:c1在每行中用空格分隔的信息很多。我正在读它,每行提取第5和第11个字符串。然后这个referrer.txt行有一些像“abssfdf-cfgd abc”的东西。我想删除每行中的' - '字符,然后将其写入referrer.txt?
答案 0 :(得分:2)
编写时,它会向前移动文件的指针并覆盖原始内容。以下阅读将从您的写作结束处开始。
你最好写一个新文件。
答案 1 :(得分:-1)
如果你在linux下使用Sed命令!
import commands
commands.getstatusoutput('sed -i 's/\-/ /g' /youfile.txt')
忽略以'#'开头的行使用: grep -v“#”file.txt> other_filer.txt 即可。 我曾经使用OS命令来处理文件。