解压文件从tgz到tar和从tar到txt Databricks Python3 Unix/Linux



我有很多tgz格式的文件包含tar文件,而tar文件本身包含txt文件。我想先将它们提取到tar格式,然后再提取到txt格式(或者如果可能的话,立即提取到txt格式,那就更好了)。

我试过了

tar = tarfile.open('/dbfs/mnt/mountingPoint/InputFolder/filename.tgz', 'r:gz')
tar.extractall()
tar.close()

但是即使它没有给出任何错误,我也没有得到任何文件。我浏览了所有关于这个话题的帖子,但都没有帮助。

我也试过:

%sh find $/dbfs/mnt/mountingPoint/InputFolder/ -name *.tar.gz -exec tar -xvzf {} -C $/dbfs/mnt/mountingPoint/OututFolder/ ;

,得到以下错误:

find: ‘$/dbfs/mnt/mountingPoint/InputFolder/’: No such file or directory

我对Unix/Linux没有太多的经验,所以这里可能有一个愚蠢的错误,因为文件和目录肯定在那里。

我做了很多研究,但是没有一个符合我的用例。如有任何帮助,我将不胜感激,提前感谢。

我在tar.extractall()中添加了一个输出文件夹,现在它可以工作了

import tarfile
tar = tarfile.open('/dbfs/mnt/mountingPoint/InputFolder/filename.tgz', 'r:gz')
tar.extractall('/dbfs/mnt/mountingPoint/OutputFolder/')
tar.close()

如果您想一个一个地提取文件,另一个解决方案是:

for member in tar.getmembers():
extracted_f = tar.extract(member, '/dbfs/mnt/mountingPoint/OutputFolder/')

但是,如果有人对shell部分有解决方案,我很想知道。

最新更新