python - 无法将列表中的随机选择写入文本文件

标签 python file-io

真的不确定这里有什么问题,我希望 python 从列表中选择一个随机名称,这是有效的,因为我已经打印了变量。

然后我想将随机名称存储在文本文件中。该文件在那里,但它只是空的。任何帮助将不胜感激。

import random

names = "Balo", "Bandugl", "Baroro", "Cag", "Charoth", "Duglinglabat", "Dulko", "Fangot"

rand_name = random.choice(names)


c1= open( "character_one.txt", "w")

c1.write(rand_name)

c1.close

为什么 python 不将随机选择写入文本文件?

最佳答案

您的代码看起来不错,只是您实际上并没有在末尾调用 c1.close

你需要在它后面添加()来做到这一点:

import random

names = "Balo", "Bandugl", "Baroro", "Cag", "Charoth", "Duglinglabat", "Dulko", "Fangot"

rand_name = random.choice(names)

c1 = open("character_one.txt", "w")

c1.write(rand_name)

c1.close()

这就是为什么使用 with-statement 是个好主意的原因打开一个文件:

import random

names = "Balo", "Bandugl", "Baroro", "Cag", "Charoth", "Duglinglabat", "Dulko", "Fangot"

rand_name = random.choice(names)

with open("character_one.txt", "w") as c1:

    c1.write(rand_name)

这样做可以确保文件在您完成后关闭。

关于python - 无法将列表中的随机选择写入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21469223/

相关文章:

python - 这个网址有什么问题?

python - 将我的订单值放入多个存储桶

python - 使用 iterparse() 解析大型 XML 会消耗太多内存。还有其他选择吗?

python - 解码utf8邮件头

python - CSV 删除字段值换行引号

python - 我怎样才能让 send() 阻止 UDP?

file - 通过批处理文件启动多个文件

c# - 在 C# 中播放声音 byte[]

python - 第一次写脚本,不知道用什么语言(解析excel等文件)

c - 如何用C语言为虚拟文件系统创建一个大的二进制文件?