-1

我正在读取一个文本文件并提取按空格分割的两列并将它们写入另一个文本文件。有些行中有“-”字符。我想删除它们并写。下面的代码有什么问题?我也使用了 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之前删除每行中的'-'字符?

4

2 回答 2

2

当您写入时,它会向前移动文件的指针并覆盖原始内容。下面的阅读从你的写作结束的地方开始。

你最好写一个新文件。

于 2013-06-14T13:27:37.767 回答
-1

如果你在 linux 下使用 Sed 命令!

import commands
commands.getstatusoutput('sed -i 's/\-/ /g' /youfile.txt')

要忽略以 '#' 开头的行,请使用: grep -v "#" file.txt > other_filer.txt。我曾经使用操作系统命令来处理文件。

于 2013-06-14T13:37:06.090 回答