Python中换行符的识别

Python中换行符的识别,python,formatting,Python,Formatting,因此,我想从子进程中获取标准输出,然后使用python将输出写入文件 我遇到的问题是来自子进程的标准输出丢失了格式,它包含\n有换行符的地方。我希望将输出写入一个格式完整的文件,这意味着该文件在有换行符的地方包含换行符,而不是一行包含\n 以下是我现有的代码: import os, subprocess from cStringIO import StringIO proc = subprocess.Popen('foo.exe', shell=True, stdout=subprocess.

因此,我想从子进程中获取标准输出,然后使用python将输出写入文件

我遇到的问题是来自子进程的标准输出丢失了格式,它包含\n有换行符的地方。我希望将输出写入一个格式完整的文件,这意味着该文件在有换行符的地方包含换行符,而不是一行包含\n

以下是我现有的代码:

import os, subprocess
from cStringIO import StringIO

proc = subprocess.Popen('foo.exe', shell=True, stdout=subprocess.PIPE,)

stdout_value = proc.communicate()[0]

f=open('fooOut.txt', 'w')
f.write(str(repr(stdout_value)))
f.close()
当前文件文本:abbb\nabbb\naaaaab

我想要的是:

阿巴布

bbbb

aaaaab

不要打电话给repr,即直接打电话

f.write(stdout_value)
别再打电话了

f.write(stdout_value)

为什么要报告?这将对象转换为它的表示形式,对于字符串,这意味着将chr10换行符之类的东西转换为“\n”。

为什么要repr?这将对象转换为其表示形式,对于字符串,这意味着将chr10换行符之类的内容转换为“\n”。

将转义加倍的repr,即反斜杠字符是导致格式丢失的原因-为什么要这样做?顺便说一句,str调用是完全冗余的、无害的,但完全没有用——为什么要在那里呢

使转义加倍的repr,即反斜杠字符,是导致您丢失格式的原因-您为什么要这样做?顺便说一句,str调用是完全冗余的、无害的,但完全没有用——为什么要在那里呢

搜索\\n并替换为\n。搜索\\n并替换为\n。