繁体   English   中英

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

[英]Sorting the string lines in a txt file and then overwriting it with the sorted lines

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

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

它不会覆盖它。 我尝试先读取文件然后写入文件。 但我不断收到错误。

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

从 with 语句中定义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")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM