python - 如何使用一行代码创建一个包含列表的新文件?

标签 python list

我知道这可能很容易做到,但我对编码很陌生。我可以用多行来完成此任务,但对于我的作业来说,它需要在一行中完成。

这就是我所拥有的,它引发了一个我不明白的错误。

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/

相关文章:

python - 如何在Python中动态地将元组值保存到变量中?

python - Django ImageField core=False in newforms admin

python - torch.sum() 中的 dim=-1 或 -2 是什么意思?

python - 如何对列表的每个元素执行操作并将结果放入 Python 的新列表中?

python有效地比较列表列表

list - 使用 Haskell 的 (++) 运算符追加到列表是否会导致多个列表遍历?

python - 使用分而治之法找到最大总和子列表和总和

python - 如何访问列表列表中每个列表的第一个元素

python - 如何在不提取的情况下遍历包含 zip 文件的 tar.gz 文件

python - 如何将包含一串数字的列表转换为整数列表?