проверить папку с питоном - PullRequest
       21

проверить папку с питоном

0 голосов
/ 21 сентября 2019
if os.chdir(path+"micro")==True:
    os.chdir(path+"micro")
else: 
    os.mkdir(path+"micro")
    os.chdir(path+"micro")

, когда я использую этот метод, он выдает ошибку и говорит, что файл завершает работу, почему я не могу получить доступ к этому файлу

Ответы [ 3 ]

0 голосов
/ 21 сентября 2019

os.chdir(path+"micro") Это не возвращает ложь, если путь не существует.Это скорее дает ошибку.Также написание path + "mirco" также не является хорошей практикой.Стандартным способом является использование os.path.join(path, "micro"), потому что он обрабатывает выбор "/" или "\" в соответствии с ОС, на которой он запущен.

Так что вот некоторые альтернативы, которые вы можете попробовать.

Альтернатива 1:

dir = os.path.join(path, "micro")
if not os.path.exists(dir):
    os.mkdir(dir)  
os.chdir(dir)

Альтернатива 2:

dir = os.path.join(path, "micro")
try:
    os.chdir(dir)
except:
    os.mkdir(dir)
    os.chdir(dir)
0 голосов
/ 21 сентября 2019

Если я правильно понимаю ваш вопрос, этот код для вас:

if os.path.exists(path+"micro"):
    os.chdir(path+"micro")
else: 
    os.mkdir(path+"micro")
    os.chdir(path+"micro")

Ваш код неверен, поскольку, как видно из документации os.chdir не возвращает никакогозначение, но используется для изменения текущего рабочего каталога на заданный путь.Возвращает None во всех случаях.По этой причине ваш код выдал ошибку.

Вместо этого вам нужен метод os.path.exists , который возвращает True, если путь ссылается на существующий путь.Возвращает False для неработающих символических ссылок.На некоторых платформах эта функция может возвращать False, если не предоставлено разрешение на выполнение os.stat () для запрошенного файла, даже если путь физически существует.

0 голосов
/ 21 сентября 2019

Я думаю, что вы пытаетесь сделать:

   dir = os.path.join(path, "micro")
   if not os.path.isdir(dir):
       os.mkdir(dir)
   os.chdir(dir)
...