从python中的ftp文件夹和子文件夹中读取所有文件

时间:2015-01-19 01:34:13

标签: python ftplib

我想从内存中ftp文件夹的所有文件夹和子文件夹中读取所有图像文件(* .jpg),但不一定要下载它们。文件夹结构的深度不同,我需要的文件可以在主文件夹或任何子文件夹中。

我尝试在循环中使用nlst,但我只是获取了一个文件列表,并且无法单独读取jpg文件。一旦我读了一个文件,我打算用opencv对文件进行一些处理,并在数组中提取特定信息,然后转到下一个文件。

这是我的代码:我还没能浏览子文件夹。

log = []
file_list = []
for name in ftp.nlst():
        print "listing: " + name
        ftp.cwd(name)
        ftp.retrlines('LIST',callback=log.append)
        #lines = lines.split("\n") # This should split the string into an array of lines
        #filename_index = len(lines[0]) - 1
        files = (line.rsplit(None, 1)[1] for line in log)
        for file in files:
            if file.split('.')[-1] == "jpg":            
            # whatever
                    file_list.append(file)
        ftp.cwd('../')

感谢任何帮助。

1 个答案:

答案 0 :(得分:-2)

使用os import并传递listdir函数中的ftp文件夹或子文件夹路径。

import os

for file in os.listdir('<INSERT FTP FULL PATH>'):
    if file.endswith(".jpg"):
        print(file)
        ...
        or do other python processing
相关问题