我想从内存中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('../')
感谢任何帮助。
答案 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