对txt文件中的字符串行进行排序,然后用排序后的行覆盖它



所以基本上我有一个类似这样的文件:

hi
my
name
is

我希望它是(按字母顺序排序(:

hi
is
my
name

下面的代码将txt文件中的行存储到一个列表中,然后对其进行排序。它可以满足我的要求,但是…:

with open ("3ex.txt","r") as f:
new = []
for line in f:
stripped = line.strip("n")
new.append(stripped)
new.sort() #sorts by letter
print(new)
with open ("3ex.txt","w") as file:
for k in new:
file.write(file"[k]n")

它不会覆盖它。我试着先读文件,然后再写。但我总是出错

是的,我知道这样做不好,但这就是我被要求做的。

用语句从中定义new列表。并更正file.write参数。这是修正后的代码

new = []
with open ("3ex.txt","r") as f:
for line in f:
stripped = line.strip("n")
new.append(stripped)
new.sort() #sorts by letter
with open ("3ex.txt","w") as file:
for k in new:
file.write(k + "n")

最新更新