@Lepilov

Как убрать лишние папки при создании архива?

При создании rar архива в Ubuntu файл архива в итоге содержит несколько подпапок, которые формируются из пути к файлу.

Что есть:
folder.rar
    /home
        /y700
            /projects
                file.xlsx


Что ожидается
folder.rar
    file.xlsx


Архив создаю так

new_file_name = self.generate_file_name()      # Генерация имени файла
       path_to_temp_folder = os.path.dirname(BASE_DIR)
       if not os.path.exists(f'{path_to_temp_folder}/files'):
            pathlib.Path(f'{path_to_temp_folder}/files').mkdir(parents=True, exist_ok=True) # Создаю папку
        wb.save(f'{path_to_temp_folder}/files/{new_file_name}')  # Сохраняю в нее эксель файл

        archive = self.generate_zip_name(rfi) # функция генерит имя архива (string)
        to_rar = f'{path_to_temp_folder}/files' # путь к папке с файлами

        os.system("rar a {} {}".format(archive, to_rar)) # Вызов линуксовой либы для создания архива


Как избавиться от лишних папок?
  • Вопрос задан
  • 225 просмотров
Пригласить эксперта
Ответы на вопрос 2
dimonchik2013
@dimonchik2013
non progredi est regredi
в os.system переходи сначала в папку поближе
Ответ написан
@Lepilov Автор вопроса
Не полностью но фиксанул , осталась только одна папка внутри архива
добавил _, to_rar = (os.path.split(to_rar))

В итоге
new_file_name = self.generate_file_name()      # Генерация имени файла
path_to_temp_folder = os.path.dirname(BASE_DIR)
if not os.path.exists(f'{path_to_temp_folder}/files'):
    pathlib.Path(f'{path_to_temp_folder}/files').mkdir(parents=True, exist_ok=True) # Создаю папку
wb.save(f'{path_to_temp_folder}/files/{new_file_name}')  # Сохраняю в нее эксель файл

archive = self.generate_zip_name(rfi) # функция генерит имя архива (string)

to_rar = f'{path_to_temp_folder}/files' # путь к папке с файлами
_, to_rar = (os.path.split(to_rar))  # Новая строка
os.system("rar a {} {}".format(archive, to_rar)) # Вызов линуксовой либы для создания архива


Результат
folder.rar
    folder
        file.xlsx


не совсем что нужно в идеале но уже гораздо лучше
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы