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

问题描述 投票:0回答:1

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

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")

它不会覆盖它。我尝试先读取文件,然后写入文件。但是我一直出错。

是的,我知道这很不好做,但这就是我要做的。

python list file overwrite
1个回答
0
投票

用语句定义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")
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.