2016-01-11 45 views
0

我得到了这段代码,它查找.rar文件的目录,并将它们解压到另一个目录。我希望能够获取已被删除的文件的名称,以便更改为目标目录(这是文件减去扩展名),并从那里做更多的工作,但是我无法做任何其他事情在if(如,获得TE的文件名与os.path.basename()执行patoolib.extract_archive(my_file, outdir="/root/tree/def")获取文件名并将其传递给Python中的另一个函数

我怎样才能得到文件的名称和传递给另一个函数之前

代码:

import shutil, os, patoolib, fnmatch, glob 

def unrar(): 
    for my_file in glob.glob('/root/tree/down/*'): 
     if fnmatch.fnmatch(my_file, '*.rar'): 
      patoolib.extract_archive(
       my_file, outdir="/root/tree/def") 

unrar() 
+0

您可以在os.listdir尝试F(DIRECTORY_NAME): 如果file_n.endswith( 'RAR。'): – Zohar81

回答

0

你可以试试以下代码可以逐一获取.rar文件:

import os 
for f in os.listdir(<dir_name>): 
    if f.endswith('.rar'): 
     print file 
     #do your stuff 
     patoolib.extract_archive(file, outdir="/root/tree/def") 

这里是一个例子。

考虑以下文件夹/用户/ BLA /用以下内容XYZ

a.rar 
b.rar 
c.txt 

,如果你对这个文件夹应用上面的代码,你会得到仅远远没有文件扩展名:

a.rar 
b.rar 

现在你可以将这些文件传送到任何你想要的功能......

+0

我想要做的是获取已处理的文件名并将其传递给另一个函数,以便我可以使用它进行更多操作。 – xavier

+0

你是什么意思“已处理的文件名”?它不是rar文件本身吗? – Zohar81

+0

我想获取我正在处理的rar文件的名称减去扩展名,并将其传递给另一个函数以使用它。 – xavier

相关问题