在Windows中,使用os.makedirs和名为“ aux”的文件夹时,“目录名称无效”

时间:2019-03-14 18:06:45

标签: python windows

我正在尝试创建一个根据Windows中的lib os有效的文件夹。

# Replace <user>
filePath = r"C:\Users\<user>\AppData\Local\Temp\aux")
if not os.path.exists(filePath) and os.access(os.path.dirname(filePath), os.W_OK):
    os.makedirs(filePath)

但是它失败,并显示以下错误

Traceback (most recent call last):
  File "C:\Users\<user>\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 3267, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-8-a7b7e2731f40>", line 1, in <module>
    os.makedirs(filePath)
  File "C:\Users\<user>\Anaconda3\lib\os.py", line 221, in makedirs
    mkdir(name, mode)
NotADirectoryError: [WinError 267] The directory name is invalid: 'C:\Users\<user>\AppData\Local\Temp\aux'

有问题吗? You can't use "aux" as a folder name in Windows

python中是否有解决方法:

  • “真的”检查文件夹是否有效(上面的代码中的“ if”还不够)
  • 要创建文件夹吗?

1 个答案:

答案 0 :(得分:0)

通常,文件系统操作位于Easier to Ask for Forgiveness than Permission

执行此操作的最佳方法是尝试创建目录,并在OSError失败时捕获它,然后处理失败。