使用uuid.uuid4()创建新文件。

15

当创建一个文件时,如何将uuid.uuid4()的值与文字连接起来?下面的代码并不正确,但应该可以说明我的意图...

fo = open(uuid.uuid4() + ".txt", "wb")
2个回答

33
你需要将 uuid 转换为 str
>>> import uuid
>>> str(uuid.uuid4()) + ".txt"
'13eb9327-f40e-4ef1-8020-1c36af1b4b70.txt'

3

该版本的字符串中不包含-

fo = open(uuid.uuid4().hex + ".txt", "wb")

通常使用上下文管理器打开文件是一个好主意

with open(uuid.uuid4().hex + ".txt", "wb") as fo:
    # do stuff with fo
    # fo will be closed automatically

这里是一个循环的示例

for item in data:
    with open(uuid.uuid4().hex + ".txt", "wb") as fo:
        fo.write(item)

我正在执行一个循环,在其中创建一个新文件(使用打开命令),然后写入它,关闭它并重复该过程。在这种情况下,上下文管理器是否合适? - c12
1
@c12,没问题,只需将“with”放在循环内部即可。 - John La Rooy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接