#python #directory #google-colaboratory
Вопрос:
У меня есть папка, состоящая из множества .rar
файлов. Мне нужно извлечь все .rar
файлы из этой папки. Я подключил свою учетную запись gdrive к colab. То, что я сделал, это:
data_path = "content/gdrive/My Drive/folder"
for file in os.scandir(data_path):
!unrar x file.path "/content/drive/path/output_folder/"
но я получил ошибку:
Cannot open file.path
No such file or directory
No files to extract
Я думаю file.path
, будет работать с тех пор, как я использовал:
for file in os.scandir(data_path):
print(file.path)
Он печатает все пути к файлам в этой папке
Как это сделать эффективно?
Ответ №1:
Для использования переменной в !unrar вам необходимо использовать этот код
file_path = '/content/drive/MyDrive/Colab Notebooks/123.rar'
!unrar x '$file_path'
Итак, в вашей ситуации у вас будет следующий код:
data_path = "/content/gdrive/My Drive/folder"
for file in os.scandir(data_path):
!unrar x '$file.path' "/content/drive/path/output_folder/"
Комментарии:
1.можно ли задать выходной каталог в качестве относительного пути? вот так
data_path = Path("./Data/")
for file in os.scandir(data_path): !unrar x '$file.path' data_path