我正在尝试创建一个名为〜/ .Trash的文件夹(它是一个隐藏目录)而不使用FileExistsError。我想创建目录而不会引发错误。
try:
os.mkdir('~/.Trash')
except OSError as ex:
if ex.errno == errno.EEXIST:
print '' #I leave it blank
else:
raise
但是我收到以下错误:
OSError: [Error 2] No such file or directory '~/.Trash'
如何创建防止FileExistsError的目录?
答案 0 :(得分:2)
问题是代字号(~
)没有像在Bash中那样扩展到Python中的主目录。因此,您尝试在(不存在的)目录.Trash
下创建目录~
。如果需要相对于主目录的路径,可以使用os.path.expanduser(path)
。
try:
os.mkdir(os.path.expanduser('~/.Trash'))
except OSError as e:
if e.errno != os.errno.EEXIST:
raise