«Неверное имя каталога» в Windows, используя os.makedirs с папкой «aux» - PullRequest
0 голосов
/ 14 марта 2019

Я пытаюсь создать папку, допустимую в соответствии с lib os в Windows.

# 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'

Проблема? Вы не можете использовать «aux» в качестве имени папки в Windows .

Есть ли обходной путь в python для:

  • «Действительно» проверить, является ли папка действительной («if» в приведенном выше коде недостаточно)
  • Создать папку в любом случае?

1 Ответ

0 голосов
/ 14 марта 2019

Как правило, операции с файловой системой - это когда Проще просить прощения, чем разрешения .

Лучший способ сделать это - попытаться создать каталог, поймать OSErrorесли это не удается, а затем обработать сбой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...