write()创建部分可读/损坏的文件

时间:2011-10-28 14:17:40

标签: python linux file-io

我有一个很长的字符串(定期间有\ n的DNA序列),我正在尝试写入文件。

使用下面的代码编写,我有一个C ++程序中getline无法完全访问的文件 - 也就是说,istream似乎认为该文件只有大约十几行。同样,如果我在文件上做了cat或更多,我只看到该文件的十几行。 然而,如果我用编辑器(比如gedit)打开文件,整个文件就在那里,如果我重新保存,我突然能够阅读整个文件。

  output = open(fileFasta, 'w')
  lines = vSeq[1].split('\n')
  # Tried this
  output.write(vSeq[1])
  # And this
  for line in lines:
    output.write(line)
    output.flush()
  output.close()

我显然没有以gedit的一些重要方式完成文件。想法?

2 个答案:

答案 0 :(得分:2)

使用ghex发现我的源文件是使用回车符(\ r)而不是换行符(\ n)。

答案 1 :(得分:0)

也许你的C ++程序不能充分刷新输出流。或者在某处可能有一个空字节......