FTP-CREATE-MISSING-DIRS是一个curl操作(added here)。我猜你必须用ftplib手动操作,但我希望被证明是错的,有人吗?
我要做如下操作:(未测试,需要捕获ftplib.all_errors)ftp = ... # Create connection
# Change directories - create if it doesn't exist
def chdir(dir):
if directory_exists(dir) is False: # (or negate, whatever you prefer for readability)
ftp.mkd(dir)
ftp.cwd(dir)
# Check if directory exists (in current location)
def directory_exists(dir):
filelist = []
ftp.retrlines('LIST',filelist.append)
for f in filelist:
if f.split()[-1] == dir and f.upper().startswith('D'):
return True
return False
或者你可以这样做:directory_exists:(读起来有点难?)# Check if directory exists (in current location)
def directory_exists(dir):
filelist = []
ftp.retrlines('LIST',filelist.append)
return any(f.split()[-1] == dir and f.upper().startswith('D') for f in filelist)