Python - Как пропустить процесс, если папка не существует - PullRequest
0 голосов
/ 11 мая 2018

Я пытаюсь написать скрипт Python, который проверяет, существует ли файл в папке, если да, печатает доступный файл, иначе пропускает шаги и проверяет следующую папку.Другой дополнительный шаг, который я делаю, - если в папке есть какие-либо подпапки, я удаляю подпапку.Однако, если папка не существует, код завершается ошибкой.Как я могу пропустить папку, если она не существует? Ниже приведен код, который я использую:

import pandas as pd
import glob
import numpy as np
import os
import os, shutil

path = r'/Users/scott/desktop/sales_data/store1/2018-05-10'
for the_file in os.listdir(path):
    file_path = os.path.join(path, the_file)
        try:
         if os.path.isdir(file_path): shutil.rmtree(file_path)
    except Exception as e:
        print(e)

Я получаю ошибку

FileNotFoundError: [Errno 2] No such file or directory: '/Users/scott/desktop/sales_data/store1/2018-05-10'

Может ли кто-нибудь помочь.Спасибо.

1 Ответ

0 голосов
/ 11 мая 2018

Это то, что я делаю .. должно быть прямо над вашей петлей for.

Ваш цикл for фактически проверяет путь, но вы не проверяете, существует ли путь, по которому он ищет.

path = r'/Users/scott/desktop/sales_data/store1/2018-05-10'
if not os.path.isdir(path):
  <do your error code here>
for the_file in os.listdir(path):
   file_path = os.path.join(path, the_file)
       try:
          if os.path.isdir(file_path): shutil.rmtree(file_path)
      except Exception as e:
          print(e)
...