在使用 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)
因为我需要使用快速排序对 .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)