📅  最后修改于: 2023-12-03 15:28:48.139000             🧑  作者: Mango
这是门|门 IT 2005 年第 17 题,关于如何处理字符串和文件的问题。
你需要编写一个程序,读取一个文本文件中的所有行,并将它们按照字母表顺序排序,然后将排序后的结果写回到原文件中。同时,你要将排序后的结果输出到屏幕上。
首先,你需要打开文件,读取所有行,并将它们存储到一个列表或数组中。这可以通过以下代码实现:
with open('filename.txt', 'r') as f:
lines = f.readlines()
排序可以使用 Python 内置的排序函数 sorted()
,它将返回一个按字母表顺序排列的新列表。
sorted_lines = sorted(lines)
一旦你已经拥有一个排序后的列表,就可以将其写回到原始文件中。你需要打开文件并使用 writelines()
函数来写回到文件中。
with open('filename.txt', 'w') as f:
f.writelines(sorted_lines)
要将排序后的结果输出到屏幕上,你可以使用简单的循环来输出行。
for line in sorted_lines:
print(line, end='')
with open('filename.txt', 'r') as f:
lines = f.readlines()
sorted_lines = sorted(lines)
with open('filename.txt', 'w') as f:
f.writelines(sorted_lines)
for line in sorted_lines:
print(line, end='')
'r'
(只读)模式。sorted()
函数将会改变原始列表的值。如果你不想改变原始列表,可以使用 copy()
函数或切片语法 [:]
来复制列表。writelines()
而不是 write()
函数。这将确保每一行的结尾都正确。repr()
函数打印每一行,以显示行末尾是否有不可见字符。