【问题标题】:Formatting .txt file before usage of readlines() [closed]在使用 readlines() 之前格式化 .txt 文件 [关闭]
【发布时间】:2021-05-25 09:46:55
【问题描述】:

因为我需要使用快速排序对.txt 文件进行排序,所以我使用readlines() 来使用我的功能。问题是它没有像使用readlines()之前那样格式化。

f = open(filename)
array = f.readlines()

然后我使用了我的快速排序功能。

输入文件的样子:

12.01.2020 bcd
05.02.1990 efd
13.04.1992 cba

快速排序后的样子:

05.02.1990 efd
13.04.1992 cba
12.01.2020 bcd

但在我的代码中是这样的:

'05.02.1990\tefd\n', '13.04.1992\tcba\n', '12.01.2020\tbcd\n'

有什么建议可以纠正我对readlines() 的使用吗?

【问题讨论】:

    标签: python quicksort readlines


    【解决方案1】:

    这实际上是 readlines 的使用方式。它会生成在您的文本文件中找到的字符串列表。如您所见,每个字符串由, 分隔,选项卡表示为\t,新行表示为\n

    您可以简单地将数组再次写入文件以获得所需的输出。

    with open('sorted.txt', 'w') as of:
        for s in sorted:
            of.write(s)
    

    PS。您要打印的是输出列表的内容,这将用它们的 unicode 表示替换制表符和换行符之类的内容。如果您遍历输出并打印内容,您将看到想要查看的输出。

    for s in output:
        print(s)
    

    【讨论】:

    • 非常感谢。我知道与 Input 具有相同的结构,但现在每行之间有额外的空行。有没有办法去除它们?
    • 啊,当您打印时是这样,是的,如果您将其写入文件,情况就不会如此。 print() 也添加了一个 \n 字符,要解决此问题,您可以使用 print(s, end='') 这将抑制 print 中的换行符
    猜你喜欢
    • 2013-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-20
    • 1970-01-01
    相关资源
    最近更新 更多