我有这个:
with open(str(ssis_txt_file_names_only[a]) + '.dts', 'w', encoding='utf16') as file:
whatever = whatever.replace("\n","")
print(whatever)
file.write(str(whatever))
当我执行打印(无论如何)时,所有文本都显示在1行上,而不是分开显示。有人知道原因吗?
当前,我的输出如下:
>N</IsConnectionProperty> <Flags> 0</Flags> </AdapterProperty> <AdapterProperty>
我想要的是这个
>N<I/IsConnectionProperty>
<Flags> 0</Flags>
</AdapterProperty>
<AdapterProperty>
\n
不会这样做吗?
答案 0 :(得分:1)
您的行whatever = whatever.replace("\n","")
将所有换行符替换为空,这是罪魁祸首。
对于您在评论中遇到的问题,记事本不能仅将\n
识别为换行符;它需要完整的Windows风格的\r\n
。如果您在其他编辑器中打开它,则可能会发现如果在.replace
行中加上注释,则会出现换行符。或者,如果将行读为whatever = whatever.replace("\n","\r\n")
,则它应在记事本中按预期显示。