Python或linux命令行检测.tar.gz中的目录名

时间:2015-12-18 14:53:29

标签: python linux bash

我正在自动化上传文件并在AWS中使用它们的过程。我有一个python脚本,我上传somefolder.tar.gz。通常,这些文件只提取名为somefolder的文件夹,但有时它是不同的文件夹名称。无论如何都要检测文件夹在提取时的名称是什么?

目前我正在通过boto协议进行提取:

output = ssh_client.run('cd ~/Sharing && tar -zxvf ' + tar_filename)

tar_filename类似于:filename.tar.gz一种解决办法可能只是切断.tar.gz并确保所有提取的文件夹的名称始终与.tar.gz相同

3 个答案:

答案 0 :(得分:3)

tar -tf将列出tar中的所有文件,而不提取。

然后,您可以解析输出以查找顶级目录。

答案 1 :(得分:2)

您可以在将文件上传到AWS之前检查文件内容吗?如果可以,您只需使用tzf参数列出内容以确保命名正确,或者您可以使用内置python tarfile执行相同的操作。

答案 2 :(得分:0)

您可以使用tar命令列出tar.gz的内容--list -f your_file.tar.gz