在使用 readlines() 之前格式化 .txt 文件

Formatting .txt file before usage of readlines()

因为我需要使用快速排序对 .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() 用法的任何建议?

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)