我知道这可能很容易做到,但我对编码很陌生。我可以用多行来完成此任务,但对于我的作业来说,它需要在一行中完成。
这就是我所拥有的,它引发了一个我不明白的错误。
trees = open('trees.txt', 'w').write["Tree1", "Tree2", "Tree3"]
TypeError: 'builtin_function_or_method' object is not subscriptable
我想我的问题是我不能只在我所做的地方/如何执行“写入”命令,但我不知道如何正确执行此操作。预先感谢您的任何帮助或提示!
最佳答案
只需在文件句柄上应用write
即可。为了获得正确的文本而不是 python 列表表示,您必须将列表连接到多行文本中(如果这是您想要的!)。
您的固定代码(尽管不是最好的):
open('trees.txt', 'w').write("\n".join(["Tree1", "Tree2", "Tree3"]))
顺便说一句:我删除了 trees = open(...
的分配,因为您得到 write
操作的返回值 None
注意:这是一个单行代码,但不是正确的方法。更好地使用 with open
with open('trees.txt', 'w') as f: f.write("\n".join(["Tree1", "Tree2", "Tree3"]))
这样您就可以确保文件在超出范围时正确关闭
关于python - 如何使用一行代码创建一个包含列表的新文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39498525/