我得到了这段代码,它在一个目录中查找.rar文件,然后将它们解压到另一个目录中。我希望能够获取已解压的文件的名称,以便更改到目标目录(即文件减去扩展名),并从那里执行更多工作,但我不能在if
之后执行任何其他操作(例如,在执行patoolib.extract_archive(my_file, outdir="/root/tree/def")
之前使用os.path.basename()
获取te文件名
如何获取文件名并将其传递给另一个函数?
代码:
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()
发布于 2016-01-11 19:20:14
您可以尝试使用以下代码逐个获取.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")
下面是一个例子。
考虑以下文件夹/Users/bla/xyz,其中包含以下内容
a.rar
b.rar
c.txt
如果您在此文件夹上应用上面的代码,您将只获得没有扩展名的far文件:
a.rar
b.rar
现在,您可以将这些文件传递给您想要的任何函数...
https://stackoverflow.com/questions/34720092
复制相似问题