使用uuid作为python 3中的目录创建一个目录

时间:2017-10-28 05:54:39

标签: python python-3.x file-management

import os
impoer uuid
wallet_filepath = os.path.join( 'PWD', str(uuid.uuid4().hex) , '.bin')
print (wallet_filepath)
print (os.path.exists(wallet_filepath))
print (os.stat(wallet_filepath))

这是我从此代码中获得的 OUTPUT

  

/home/user/randomTests/b1c51a61c235479aa0964e14db7135d6/.bin

     

     

追踪(最近一次通话):     文件" testDir.py",第9行,in       print(os.stat(wallet_filepath))   FileNotFoundError:[Errno 2]没有这样的文件或目录:' /home/user/randomTests/b1c51a61c235479aa0964e14db7135d6/.bin'

2 个答案:

答案 0 :(得分:2)

您从未创建目录!您只是创建一个字符串路径并将其存储在wallet_filepath中。

您可以使用os.makedirs递归创建目录(即创建所有中间级目录,创建最终目录所需的目录):

wallet_filepath = os.path.join( 'PWD', str(uuid.uuid4().hex) , '.bin')
print (wallet_filepath)
if not os.path.exists(wallet_filepath) :
    os.makedirs(directory)
print (os.stat(wallet_filepath))

答案 1 :(得分:0)

除了给出使用os.makedirs()的答案之外,您可能想验证您的.join声明是否实际上是您想要的。

如果您需要" /home/user/randomTests/b1c51a61c235479aa0964e14db7135d6/.bin",请继续使用:

wallet_filepath = os.path.join( 'PWD', str(uuid.uuid4().hex) , '.bin')

如果您需要" /home/user/randomTests/b1c51a61c235479aa0964e14db7135d6.bin",请使用:

wallet_filepath = os.path.join( 'PWD', str(uuid.uuid4().hex) + '.bin')