Làm thế nào để bạn nối giá trị uuid.uuid4() với một chữ khi tạo tệp? Dưới đây là không đúng nhưng nên minh họa những gì tôi đang cố gắng làm ...Sử dụng uuid.uuid4() để tạo tệp mới
fo = open(uuid.uuid4() + ".txt", "wb")
Làm thế nào để bạn nối giá trị uuid.uuid4() với một chữ khi tạo tệp? Dưới đây là không đúng nhưng nên minh họa những gì tôi đang cố gắng làm ...Sử dụng uuid.uuid4() để tạo tệp mới
fo = open(uuid.uuid4() + ".txt", "wb")
Bạn cần phải chuyển đổi uuid
đến một str
:
>>> import uuid
>>> str(uuid.uuid4()) + ".txt"
'13eb9327-f40e-4ef1-8020-1c36af1b4b70.txt'
Phiên bản này không bao gồm -
trong chuỗi
fo = open(uuid.uuid4().hex + ".txt", "wb")
Nó thường là một ý tưởng tốt để mở tệp bằng một người quản lý bối cảnh
with open(uuid.uuid4().hex + ".txt", "wb") as fo:
# do stuff with fo
# fo will be closed automatically
Dưới đây là một ví dụ trong một vòng lặp
for item in data:
with open(uuid.uuid4().hex + ".txt", "wb") as fo:
fo.write(item)
tôi đang thực hiện một vòng lặp mà tôi tạo ra một tập tin mới (sử dụng lệnh mở sau đó tôi viết thư cho nó sau đó tôi đóng nó lại và lặp lại quá trình đó. Trình quản lý ngữ cảnh có phù hợp trong trường hợp này không? – c12
@ c12, chắc chắn, chỉ cần đặt bên trong vòng lặp –