验证文件夹创建时出错 (Python)

Error when verifying folder creation (Python)

我在创建文件夹的过程中卡在 "error" 中。 首先,这是我使用的代码:

import os
import errno
import subprocess

try:
    folder = os.makedirs(os.path.expanduser('~\Desktop\FOLDER'))
except OSError as e:
    if e.errno != errno.EEXIST:
        raise
print(os.path.isdir('~\Desktop\FOLDER'), '- FOLDER CREATED')

因此,代码执行以下操作:

问题是:如果我在 print() 中使用 ~ 符号,输出是 False。如果我将完整路径放入文件夹(例如:os.path.isdir('C:\Users\Bob\Desktop\FOLDER'),输出为 True.

为什么会这样?即使我有一个 False 输出,该文件夹确实已创建?

您只是在调用 isdir 时缺少 expanduser 方法:

print(os.path.isdir(os.path.expanduser('~\Desktop\FOLDER')), '- FOLDER CREATED')

您实际上也不需要最后检查。因为如果没有异常,就可以确定创建成功了。

这是一个更简洁的实现:

try:
    dirpath = os.path.expanduser('~\Desktop\FOLDER')
    os.makedirs(dirpath)
    print dirpath, "creation successful"
except OSError as e:
    print dirpath, "creation failed"
    if e.errno != errno.EEXIST:
        raise