首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >获取文件名并将其传递给Python中的另一个函数

获取文件名并将其传递给Python中的另一个函数
EN

Stack Overflow用户
提问于 2016-01-11 19:14:20
回答 1查看 143关注 0票数 0

我得到了这段代码,它在一个目录中查找.rar文件,然后将它们解压到另一个目录中。我希望能够获取已解压的文件的名称,以便更改到目标目录(即文件减去扩展名),并从那里执行更多工作,但我不能在if之后执行任何其他操作(例如,在执行patoolib.extract_archive(my_file, outdir="/root/tree/def")之前使用os.path.basename()获取te文件名

如何获取文件名并将其传递给另一个函数?

代码:

代码语言:javascript
代码运行次数:0
运行
复制
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()
EN

回答 1

Stack Overflow用户

发布于 2016-01-11 19:20:14

您可以尝试使用以下代码逐个获取.rar文件:

代码语言:javascript
代码运行次数:0
运行
复制
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,其中包含以下内容

代码语言:javascript
代码运行次数:0
运行
复制
a.rar
b.rar
c.txt

如果您在此文件夹上应用上面的代码,您将只获得没有扩展名的far文件:

代码语言:javascript
代码运行次数:0
运行
复制
a.rar
b.rar

现在,您可以将这些文件传递给您想要的任何函数...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34720092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档