Board logo

标题: [问题求助] python遍历文件遇到的问题 [打印本页]

作者: netdzb    时间: 2020-5-26 16:49     标题: python遍历文件遇到的问题

def getFiles(dir, suffix): # 查找根目录,文件后缀
    res = []
    for root, directory, files in os.walk(dir):  # =>当前根,根下目录,目录下的文件
            for filename in files:
                    name, suf = os.path.splitext(filename) # =>文件名,文件后缀
                    if suf == suffix:
                            res.append(os.path.join(root, filename)) # =>吧一串字符串组合成路径
    return res


for file_path in getFiles("./", '.png'):  # =>查找以.png结尾的文件
#        img1=Image.open(file_path)
        print(file_path)

当前路径有很多png文件,同时有个子目录101-1,里面也有很多png文件。
我的这段代码会把当前目录下的png和子文件夹的101-1全部列出来的。
如何修改代码,我只要列出当前路径下的png文件,谢谢!
作者: ivor    时间: 2020-5-26 20:08

os.listdir(path='.') 替换 os.walk()
https://docs.python.org/3.8/library/os.html#os.listdir

作者: Gin_Q    时间: 2020-5-26 22:22

  1. directory.clear()
复制代码

作者: Gin_Q    时间: 2020-5-26 22:24

本帖最后由 Gin_Q 于 2020-5-26 23:16 编辑

我正好也需要,拿去自己改改!
  1. #!/usr/bin/env python3
  2. #coding=utf-8
  3. import os
  4. import time
  5. import shutil
  6. #禁止访问目录列表
  7. stop = ['837761056','1289832516','1551961057']
  8. #指定复制文件列表
  9. filetype = ['.mp4','.avi']
  10. #复制或移动目标目录
  11. dstdirs = r'd:\\'
  12. for root,dirname,filename in os.walk(os.getcwd()):
  13.     print('当前目录为:',root)
  14.     #print('当前目录文件夹有:',dirname)
  15.     #print('当前文件有:',filename)
  16.     #获取当前目录文件不递归
  17.     #dirname.clear()
  18.     #排除指定目录
  19.     for i in stop:  
  20.         if i in dirname:
  21.             dirname.remove(i)
  22.    
  23.     for i in (os.path.join(root,name) for name in filename):
  24.         #print('完整文件路径: ',i,(os.path.getctime(i)))
  25.         for ft in filetype:
  26.             if ft in i:
  27.                 print('正在复制:\n',i,'--->>>',dstdirs)
  28.                 #复制
  29.                 shutil.copy(i,dstdirs)
  30.                 #print('正在移动:\n',i,'--->>>',dstdirs)
  31.                 #移动
  32.                 #shutil.move(i,dstdirs)
  33.    
  34. print('Done!')
  35. os.popen('pause')
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2