Я застрял в "ошибке" во время создания моей папки. Прежде всего, это код, который я использую:
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')
Итак, код делает следующее:
используя
os.makedirs()
, он создает новую папку на рабочем столе. Я хочу создать папку, которая использует кросс-платформенный путь, поэтому я использую символ~
используя
print()
, я хочу убедиться, что папка действительно существует, что каталог настоящий. Результатом этого являетсяTrue
илиFalse
.
Проблема в том, что если я использую символ ~
в print()
, вывод будет False
. Если я укажу полный путь к папке (например: os.path.isdir('C:\\Users\\Bob\\Desktop\\FOLDER')
, вывод будет True
.
Почему это происходит? Папка действительно создается, даже если у меня есть вывод False?
path = os.path.expanduser('~\\Desktop\\Folder')
. Затем используйтеpath
в качестве аргумента дляos.makedirs()
иos.path.isdir()
. Это помогает уменьшить количество ошибок, подобных этой. - person John Szakmeister   schedule 02.10.2017