【问题标题】:Making a dir using uuid as a directory in python 3在 python 3 中使用 uuid 作为目录创建目录
【发布时间】:2017-10-28 05:54:39
【问题描述】:
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))
这是我从这段代码中得到的输出。
/home/user/randomTests/b1c51a61c235479aa0964e14db7135d6/.bin
错误
Traceback(最近一次调用最后一次):
文件“testDir.py”,第 9 行,在
打印 (os.stat(wallet_filepath))
FileNotFoundError:[Errno 2] 没有这样的文件或目录:'/home/user/randomTests/b1c51a61c235479aa0964e14db7135d6/.bin'
【问题讨论】:
标签:
python
python-3.x
file-management
【解决方案1】:
您从未创建过目录!您只是创建了一个字符串路径并将其存储在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))
【解决方案2】:
除了使用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')