无法在文件中添加新行

时间:2015-08-20 15:20:44

标签: python

我正在尝试使用这些函数写入文件:

json_decode = json.loads(any_content)
json_decode = byteify(json_decode)

在对any_content进行一些处理之后,我将JSON的特定标记提取到script1scriptOrigin

script1 = json.dumps(script1)
script2 = []
    for i,j in scriptOrigin:
        j = "#" + j + "\n"
        script2.append(j)

我想用这些来写path1

def function(script1, path1, script2):
   writeArrayToFile(script1, path1, "a")
   writeToFile("\n", path1, "a")
   writeToFile(script2, path1, "a")

def writeToFile(content, path, mode, breakBy=None):
  try:
     print "content is: " 
     print content
     print type(content)

     outputFile = open(path, mode)

     try:
        if breakBy:
            outputFile.write(content + breakBy)
        else:
            outputFile.write(content)
        outputFile.close()

     except IOError as e:
       print 'Trouble writing to file'

  except IOError as e:
     print 'Trouble opening file'

def writeArrayToFile(array, path, mode):
  for item in array:
      item = "\n" + item + "\n"
      writeToFile(item, path, mode, "\n")

我希望脚本输出如下内容:

123
abc
etc

然而,我得到的是:

123abcetc

当我打印出字符串时,它们会出现很多新行。但是,当涉及到文件的内容时,它就变成了一行。

我为正在编辑的文件尝试了不同的默认应用程序 - 我已经测试了Visual Studio,写字板和NotePad,但它们都没有什么区别。

我还尝试添加\r\n而不是简单地添加\n。这没有任何区别。

1 个答案:

答案 0 :(得分:0)

我有一个额外的json.dumps(any_text),它创造了一切,甚至是\ r \ n到一行的行。

因此,例如\ r \ n1将被处理为:

一个
1

但是,如果再次处理文本,则会变为:

A1

感谢您的帮助!