首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将string转换为path,以便在GoogleCol堕胎中将其与解压缩一起使用

将string转换为path,以便在GoogleCol堕胎中将其与解压缩一起使用
EN

Stack Overflow用户
提问于 2020-01-23 08:38:49
回答 2查看 420关注 0票数 0

我正在与一个朱庇特笔记本在谷歌的合作,我想解压缩文件,它是在我的谷歌驱动器到/tmp文件夹。

我试过这样做:

代码语言:javascript
运行
复制
import os

root_dir = '/tmp/omniglot/data/'
!unzip '/content/gdrive/My Drive/Colab Notebooks/data/omniglot.zip' -d path.path(root_dir)

但我知道错误是:

语法错误接近意外令牌`()

我也尝试过:

代码语言:javascript
运行
复制
from pathlib import Path

root_dir = '/tmp/omniglot/data/'
!unzip '/content/gdrive/My Drive/Colab Notebooks/data/omniglot.zip' -d Path(str_path)

但我也犯了同样的错误。

如何在解压缩时使用字符串root_dir

我的Python版本是3.6.9。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-23 09:15:41

使用{varname}语法将Python变量传递到shell中。

代码语言:javascript
运行
复制
import os

root_dir = '/tmp/omniglot/data/'
os.makedirs(root_dir, exist_ok=True)  # Create a target directory if doesn't exist

!unzip '/content/gdrive/My Drive/Colab Notebooks/data/omniglot.zip' -d {root_dir}

您还可以使用标准库中的You文件。

代码语言:javascript
运行
复制
import zipfile

root_dir = '/tmp/omniglot/data/'
zip_file = '/content/gdrive/My Drive/Colab Notebooks/data/omniglot.zip'

with zipfile.ZipFile(zip_file, 'r') as zip_ref:
    zip_ref.extractall(root_dir)
票数 0
EN

Stack Overflow用户

发布于 2020-01-23 09:08:58

我就是这样做的(不使用!unzip命令):

代码语言:javascript
运行
复制
import os
import zipfile
from pathlib import Path

# Create destination folder if it doesn't exist.
Path(root_dir).mkdir(parents=True, exist_ok=True)

local_zip = '/content/gdrive/My Drive/Colab Notebooks/data/omniglot.zip'

zip_ref = zipfile.ZipFile(local_zip, 'r')

zip_ref.extractall(root_dir)
zip_ref.close()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59874377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档