【问题标题】:Replace \n with a text wrap with Python用 Python 将 \n 替换为文本换行
【发布时间】:2023-03-05 20:10:01
【问题描述】:

我已经通过 SSH 访问了一个文件服务器。之后,我使用ls 读取文件夹并将它们写入文件。不幸的是,它在文件中写给我\n 而不是换行符,我该如何替换它?试了好几种方法,问题是直接拆分的时候,每个字母都占一行。

def writeInFile(self, text):
    outputFile = open("output.txt", "w")
    outputFile.write(text)
    outputFile.close()
    pass

当前输出:

['folder1\n', 'folder2\n', 'folder3\n', 'folder4\n']

期望的输出

文件夹1
文件夹2
文件夹 3
文件夹4

【问题讨论】:

  • 数据没问题;问题是您将其作为列表传递,write 以 Python 写入列表的格式将其写出,因为您没有指定任何其他表示形式。简单直接的解决方案是循环遍历列表并一次写入一个元素,或者在调用函数之前更改代码以将列表加入单个字符串。

标签: python python-3.x ssh


【解决方案1】:

试试这个,让我知道它是否有效:

text_to_write = '\n'.join(['folder1', 'folder2', 'folder3', 'folder4'])
outputFile = open("output.txt", "w")
outputFile.write(text_to_write)
outputFile.close()

这样,从列表中形成一个字符串,其中一个换行符附加到列表中的每个条目,除了最后一个,它给出'folder1\nfolder2\nfolder3\nfolder4' 作为输出,这似乎是你所追求的.

【讨论】:

  • 我试过了,问题是当我尝试使用文件夹的示例时,它可以工作,但是当我使用真实数据尝试时,每个字符都写在单独的行中。 ['Fold...
【解决方案2】:

你也可以试试这个..

text = text.replace(r"\n", "\n")

在前面添加这一行 outputFile.write(text_to_write) 这一行

replace语句有两个参数...:第一个是要替换的文本,另一个是要添加的替换文本...

您还可以为[]'' 添加替换语句

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-22
    • 1970-01-01
    • 2022-12-22
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 2011-06-16
    • 2012-05-14
    相关资源
    最近更新 更多