我正在自动化上传文件并在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相同
答案 0 :(得分:3)
tar -tf将列出tar中的所有文件,而不提取。
然后,您可以解析输出以查找顶级目录。
答案 1 :(得分:2)
您可以在将文件上传到AWS之前检查文件内容吗?如果可以,您只需使用tzf
参数列出内容以确保命名正确,或者您可以使用内置python tarfile执行相同的操作。
答案 2 :(得分:0)
您可以使用tar命令列出tar.gz的内容--list -f your_file.tar.gz