Python中如何将变量内容换行追加至文件末尾
解决Python写入文件时换行无效的问题
嘿,问题很明确——你用了正斜杠的/n,但Python里表示换行的转义符是反斜杠的\n!
为什么原来的代码不行?
当你写x+"/n"时,Python会把/n当成普通的字符串内容直接写入文件,而不是解析成换行符,所以文件里才会出现apple/npear/nstrawberry/n这种内容。
修正后的基础版本
先给你最直接的修改版本,同时建议别用list当变量名(这是Python的内置类型,容易引发冲突):
fruits = ["apple","pear","strawberry"] # 用with语句自动管理文件,不用手动调用close(),更安全 with open("test.txt","a") as f: for x in fruits: f.write(x + "\n") print(x)
更优雅高效的写法
如果列表元素很多,频繁调用write()会增加IO操作次数,你可以一次性把所有内容拼接好再写入:
fruits = ["apple","pear","strawberry"] with open("test.txt","a") as f: # 用换行符把列表元素拼接起来,最后再加一个换行保证文件末尾也有换行 content = "\n".join(fruits) + "\n" f.write(content)
这样修改后,test.txt里就会每行一个元素啦:
apple
pear
strawberry
内容的提问来源于stack exchange,提问作者SnappyPenguin
相关产品推荐
相关产品推荐

