2013-06-18 41 views
0

所以,我写一个python脚本,将打开一个tar文件,如果有一个目录,我的脚本将打开该目录并检查文件...如何检查解压缩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之后检查是否有一个目录。

回答

0

在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) 

说,有一个名为文件“文件1” 的目录“S3”。那么tf.getnames()的其中一个元素将是'S3/file1'。然后你可以提取它。

+0

但我打开一个tar文件,我想检查它是否有任何东西。假设我打开了一个tar文件,它给我一个目录“S3”。我想打开'S3'。我如何在我的Python脚本中执行它 – Nick

+0

tf.getnames()提供tar对象内所有文件的路径,然后可以使用extractfile()提取它们, – xgord

相关问题