FTP_CREATE_MISSING_DIRSは、カール操作(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)
ありがとう、私が探していたものではありませんでしたが、それは良い答えでした。 Thanx;) – AliBZ
いいえ、手動で行う必要はありません。代わりに 'ftputil'パッケージの' makedirs'メソッドを呼び出すことができます。 – xApple