如何在python中每次都写入新行?

sir*_*von 2 python io

我只是想将新的tweet附加到文件的新行中。...到目前为止,我没有尝试在OS X Python上运行。

  class CustomStreamListener(tweepy.StreamListener):
      def on_status(self, status):
          print status.text

          with open("myNewFile", "a") as file:
          file.write('\n')
          file.write("\n" + status.text + "\n")
          file.write('\n')
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Vin*_*Pii 5

您有缩进问题:

  with open("myNewFile", "a") as file:
  file.write('\n')
  file.write("\n" + status.text + "\n")
  file.write('\n')
Run Code Online (Sandbox Code Playgroud)

如果要放在with上下文中,应在右边缩进以下三行。

此外,format()为了提高效率和可读性,您可以使用准备要编写的字符串:

  import os
  with open("myNewFile", "a") as file:
      file.write('{0}{0} {1} {0}{0}'.format(os.linesep, status.text)
      #file.write('\n')
      #file.write("\n" + status.text + "\n")
      #file.write('\n')
Run Code Online (Sandbox Code Playgroud)

请注意,os.linesep以插入与操作系统无关的新行:)。

您也可以linesep通过重复两次(将字符串乘以2)来写两个:

file.write('{0} {1} {0}'.format(os.linesep * 2, status.text)
Run Code Online (Sandbox Code Playgroud)

哪个更干净。