Пропустить разархивирование, когда каталог существует / удалить разархивированный каталог - PullRequest
0 голосов
/ 03 мая 2020

У меня есть код, который разархивирует файл из пути. Но я не знаю, как написать код, который пропускает или удаляет папку с разархивированными файлами, когда она уже существует. Спасибо за совет.

    def unzip_file(self, path):
        # Load file - function that reads a GTFS ZIP file. 
        #path = self.dockwidget.input_dir.filePath()
        name = os.path.splitext(os.path.basename(path))[0]
        # Create a folder for files. 
        path1 = os.path.join(os.path.dirname(path), name)
        os.mkdir(path1) 
        # Extracts files to path. 
        with ZipFile(path, 'r') as zip: 
            # printing all the contents of the zip file 
            zip.printdir() 
            zip.extractall(path1) 
        # Select text files only. 
        print(path1)
        print(path)
        files = []
        # r=root, d=directories, f = files
        for r, d, f in os.walk(path1):
            for file in f:
                exten = os.path.splitext(os.path.basename(file))[1]
                if exten == '.txt':
                    files.append(os.path.join(r, file))
        return files

1 Ответ

0 голосов
/ 03 мая 2020

Проверьте значение os.path.exists(path) и установите логики c соответственно.

https://docs.python.org/3.7/library/os.path.html#os .path.exists

...