当前位置: 首页 > 知识库问答 >
问题:

解压缩tar文件后如何检查那里有什么

郭彬郁
2023-03-14

所以,我写了一个python脚本,它将打开一个tar文件,如果里面有一个目录,我的脚本将打开该目录并检查文件...

E = raw_input("Enter the tar file name: ") // This will take input from the user
tf = tarfile.open(E) // this will open the tar file

现在检查它“tf”的最佳方法是什么,是否有目录?与其去我的终端并在那里做ls,我想在同一个python脚本中做一些事情,在解压缩tar后检查是否有目录。

共有1个答案

陆飞鸿
2023-03-14

在Python中,您可以使用os.path.exists(f)命令检查路径是否存在,其中f是文件名及其路径的字符串表示形式:

import os

path = 'path/filename'

if os.path.exists(path):
    print('it exists')

编辑:

tarfile对象有一个方法“getnames()”,它给出tar文件中所有对象的路径。

paths = tf.getnames() #returns list of pathnames
f = paths[1] #say the 2nd element in the list is the file you want

tf.extractfile(f)

假设目录“S3”中有一个名为“file1”的文件。则tf的元素之一。getnames()将是“S3/file1”。然后你可以提取它。

 类似资料:
  • 我正在使用Apache Commons Compress创建tar归档并解压它们。我的问题从这个方法开始:

  • 我的GCP云存储桶中有很多.tar文件。每个.tar文件都有多个图层。我想使用GCP数据流解压缩这些.tar文件,并将它们放回另一个GCP存储桶中。 我找到了Google提供的用于批量解压缩云存储文件的实用工具模板,但它不支持.tar文件扩展名。 也许我应该在上传到云端之前尝试解压文件,或者Beam中是否存在其他内容? 每个tar文件未经压缩大约有15 TB。

  • 问题内容: 我查看了JDK和Apache压缩库随附的默认Zip库,由于以下三个原因,我对它们不满意: 它们太臃肿了,API设计也不好。我必须写50行锅炉板字节数组输出,压缩输入,文件输出流和关闭相关流,捕捉异常和移动字节缓冲区自己?为什么我不能有一个像)和这样的简单API呢? 似乎通过压缩解压缩会破坏文件元数据,并且密码处理会被破坏。 另外,与我从UNIX获得的命令行zip工具相比,我尝试的所有库

  • 我正在使用Apache Commons1.4.1库解压缩“.tar”文件。

  • 问题内容: 我已经使用follwoing命令打包了我的电子应用程序 现在,我需要将其解压缩并重新获得整个代码。反正有这样做吗? 问题答案: 从asar文档 (此处的用法是避免使用全局安装该工具) 提取整个档案: 提取特定文件:

  • 我有一个JSON文件,它是。 我可以使用下载压缩文件。