如何从 google colab 中提取文件夹 (gdrive) 中的所有 .rar 文件?

How to extract all .rar files inside a folder (gdrive) from google colab?

我有一个包含许多 .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)

它打印该文件夹中的所有文件路径

如何高效完成?

要在 !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/"