返回列表 发帖

[问题求助] 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文件,谢谢!

os.listdir(path='.') 替换 os.walk()
https://docs.python.org/3.8/library/os.html#os.listdir
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

directory.clear()COPY

TOP

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

我正好也需要,拿去自己改改!
#!/usr/bin/env python3
#coding=utf-8
import os
import time
import shutil
#禁止访问目录列表
stop = ['837761056','1289832516','1551961057']
#指定复制文件列表
filetype = ['.mp4','.avi']
#复制或移动目标目录
dstdirs = r'd:\\'
for root,dirname,filename in os.walk(os.getcwd()):
    print('当前目录为:',root)
    #print('当前目录文件夹有:',dirname)
    #print('当前文件有:',filename)
    #获取当前目录文件不递归
    #dirname.clear()
    #排除指定目录
    for i in stop:  
        if i in dirname:
            dirname.remove(i)
   
    for i in (os.path.join(root,name) for name in filename):
        #print('完整文件路径: ',i,(os.path.getctime(i)))
        for ft in filetype:
            if ft in i:
                print('正在复制:\n',i,'--->>>',dstdirs)
                #复制
                shutil.copy(i,dstdirs)
                #print('正在移动:\n',i,'--->>>',dstdirs)
                #移动
                #shutil.move(i,dstdirs)
   
print('Done!')
os.popen('pause')COPY

TOP

返回列表