2011-07-01 45 views

回答

3

使用MLSD命令。你必須自己解析它,但這相當簡單。

# Note that portions of MLSD data are case insensitive... 
def parseinfo(info): 
    for fact in info.split(';'): 
     if not fact: 
      continue 
     name, value = fact.split('=', 1) 
     yield name.lower(), value 

ftp = ftplib.FTP(host, user, passwd) 
dirinfo = {} 
def callback(line): 
    info, fname = line.split(' ', 1) 
    dirinfo[fname] = dict(parseinfo(info)) 
ftp.retrlines('MLSD {}'.format(path), callback) 
print(dirinfo) 

這就和FTP一樣豐富。