关于python:在创建新文件夹时防止FileExistsError

Protecting against FileExistsError when creating a new folder

本问题已经有最佳答案,请猛点这里访问。

我正在尝试创建一个名为~/.trash的文件夹(它是一个隐藏目录),而不使用fileexistserror。我想创建目录而不引发错误。

1
2
3
4
5
6
7
try:
  os.mkdir('~/.Trash')
except OSError as ex:
  if ex.errno == errno.EEXIST:
    print '' #I leave it blank
  else:
    raise

但我得到了以下错误:

1
OSError: [Error 2] No such file or directory '~/.Trash'

如何创建防止fileexistserror的目录?


问题是tilde(~没有像在bash中那样扩展到python中的主目录。所以您试图在(不存在的)目录~下创建一个目录.Trash。如果需要相对于主目录的路径,可以使用os.path.expanduser(path)

1
2
3
4
5
try:
    os.mkdir(os.path.expanduser('~/.Trash'))
except OSError as e:
    if e.errno != os.errno.EEXIST:
        raise