阿萨奇 发表于 2020-5-5 20:38:51

python将列表写入文件

1 #m7. 3writerlisttoFile.py

2 fname = input("请输入要写入的文件: ")

3 fo = open(fname, "w+")

4ls = ["唐诗","宋词","元曲"]

5 fo. writelines(ls)

6 for line in fo:

7 print( line)

8 fo.close()
为什么出来一连串奇怪的文字啊?

liuzhengyuan 发表于 2020-5-5 20:43:15

本帖最后由 liuzhengyuan 于 2020-5-5 20:47 编辑

第4行,唐诗和宋词后面都是一个中文标点

把中文标点变成英文的就行了:
fname = input("请输入要写入的文件: ")
fo = open(fname, "w+")

ls = ["唐诗","宋词","元曲"]

fo. writelines(ls)

for line in fo:
    print(line)

fo.close()

永恒的蓝色梦想 发表于 2020-5-5 21:08:12

liuzhengyuan 发表于 2020-5-5 20:43
第4行,唐诗和宋词后面都是一个中文标点

把中文标点变成英文的就行了:

他说的奇怪的文字难道是报错嘛{:10_247:}

txxcat 发表于 2020-5-5 21:19:03

你说的奇怪的文字是'SyntaxError: invalid character in identifier'吗?如果说的是这个就是楼上说的缘故。
不过修正之后你的代码还有点问题,一是writelines虽然可以写入列表,但是不会自动加入换行,二是写完文件指针在文件尾,你遍历是没东西的,修改一下:
fname = input("请输入要写入的文件: ")
fo = open(fname, "w+")
ls = ["唐诗","宋词","元曲"]
fo.writelines('\n'.join(ls))      #加入换行符,用writelines或write都行
fo.seek(0)                        #指针复位
for line in fo:
    print(line)
fo.close()

zwhe 发表于 2020-5-29 10:21:27

{:7_141:}
页: [1]
查看完整版本: python将列表写入文件