jump_p 发表于 2020-5-27 11:30:18

关于文件写入方法.write的疑问



如图所示(第030讲课程内容),这里用writelines,我查了一下发现.write和.writelines都是写入字符串,所以这二者有什么区别呢?这里为什么用.writelines呢?

Twilight6 发表于 2020-5-27 11:32:08

本帖最后由 Twilight6 于 2020-5-27 11:34 编辑

f.write()只可以传入并写入字符串

f.writelines()可以传入可迭代对象比如列表

举个例子:
一个列表内有内容 :
ls = ['我','是','帅','锅']
就可以用 f.writelines(ls) 直接写入 得到文本内容:我是帅锅

而 f.write()只能传入一串字符串 所以f.write() 需要达到上面效果 就只能
string = '我是帅锅'
f.write(string)

永恒的蓝色梦想 发表于 2020-5-27 11:32:14

给你个伪代码,让你了解一下 writelinesdef writelines(it):
for i in it:
    write(i)

老八秘制 发表于 2020-5-27 11:32:24

戳我

heidern0612 发表于 2020-5-27 11:32:40

file.write(str)的参数是一个字符串,就是你要写入文件的内容.
file.writelines(sequence)的参数是序列,比如列表,它会迭代帮你写入文件。

jump_p 发表于 2020-5-27 11:35:31

heidern0612 发表于 2020-5-27 11:32
file.write(str)的参数是一个字符串,就是你要写入文件的内容.
file.writelines(sequence)的参数是序列, ...

OK,换成.write发现报错,提示write的参数必须是字符串,不能是列表。

jump_p 发表于 2020-5-27 11:37:17

Twilight6 发表于 2020-5-27 11:32
f.write()只可以传入并写入字符串

f.writelines()可以传入可迭代对象比如列表


谢谢,刚刚没看到你的答案,下次一定设为最佳{:5_109:}

Twilight6 发表于 2020-5-27 11:37:55

jump_p 发表于 2020-5-27 11:37
谢谢,刚刚没看到你的答案,下次一定设为最佳

哈哈,没事~~~
页: [1]
查看完整版本: 关于文件写入方法.write的疑问