python - 使用python在目录中搜索文件夹和文件

标签 python path operating-system directory

我的目录结构如下所示。

         MainFolder 
             |
           [lib] 
         /   |   \
       [A]  [B]  [C] -- file1.so 
        |     |         file2.so
   file1.so   file1.so
   file2.so   file2.so    

我正在尝试在该结构中查找有时可能不存在的“lib”文件夹。所以我使用以下方法检查“lib”文件夹是否存在:

   if os.path.isdir(apkLocation + apkFolder + '/lib/'):

如果 lib 文件夹存在,那么我继续搜索“lib”中的文件夹。我必须存储文件夹 A、B 和 C 的名称,并查找以“.so”结尾的文件,其路径应存储为/lib/A/file1.so、/lib/A/file2.so 等等上。

 if os.path.isdir(apkLocation + apkFolder + '/lib/'):
   for root, dirs, files in os.walk(apkLocation + apkFolder):
            for name in files:
                if name.endswith(("lib", ".so")):
                    print os.path.abspath(name) 

这给了我一个出路

                  file1.so
                  file2.so
                  file1.so
                  file2.so
                  file1.so
                  file2.so

期望的输出:

           /lib/A/file1.so
           /lib/A/file2.so
           /lib/B/file1.so
           /lib/B/file2.so
           /lib/C/file1.so
           /lib/C/file2.so

而且文件夹A、B、C也要分开保存。

最佳答案

必须加入当前目录和名称才能得到文件的绝对路径:

for root, dirs, files in os.walk(apkLocation + apkFolder):
    for name in files:
        if name.endswith(("lib", ".so")):
            os.path.join(root, name)

它记录在这里 http://docs.python.org/3/library/os.html#os.walk ,也是。

关于python - 使用python在目录中搜索文件夹和文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18860679/

相关文章:

python - 简明的 Ruby 哈希等同于 Python dict.get()

python - 用键和值连接元组的正确方法

algorithm - 全组合树算法

c - 后台进程写入 STDOUT 时没有 SIGTTOU

python - Django 中从 sqlite 迁移到 postgresql

python - 如何在python中为时间序列数据创建线性回归预测

python - 如何使用运行模块功能在 Komodo IDE 中运行 python 程序,就像在 IDLE(Python GUI) 中一样?

javascript - 在 JavaScript 中格式化路径字符串

c - 主存中的程序元素

c++ - 如何找到操作系统的名称?