gpt4 book ai didi

python - 在 ftplib storbinary 中创建缺失的目录

转载 作者:太空狗 更新时间:2023-10-29 19:32:29 25 4
gpt4 key购买 nike

我使用 pycurl 在 python 中通过 ftp 传输文件。我可以使用以下方法在我的远程服务器上自动创建丢失的目录:

c.setopt(pycurl.FTP_CREATE_MISSING_DIRS, 1)

由于某些原因,我必须切换到 ftplib。但我不知道如何在这里做同样的事情。是否有任何选项可以添加到 storbinary 函数来做到这一点?或者我必须手动创建目录?

最佳答案

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)

关于python - 在 ftplib storbinary 中创建缺失的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10644608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com