创建新文件夹时防止FileExistsError

时间:2014-09-28 23:45:30

标签: python

我正在尝试创建一个名为〜/ .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的目录?

1 个答案:

答案 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