我努力来实现这个功能:如果它们存在于FTP,如果没有更改目录在Python,不工作
变化的目录,创建和改变目录到它。
def directory_exists(self, directory_name):
if directory_name in ftp.nlst():
self.change_directory(directory_name)
else:
self.make_directory(directory_name) and self.change_directory(directory_name)
函数调用:
def make_directory(self, directory):
if ftp.mkd(directory):
self.log_message("Directory {0} created successfully".format(directory))
return True
else:
self.log_message("Failed creating directory")
return False
def change_directory(self, directory):
if ftp.cwd(directory):
self.log_message("Current Directory is now {0}".format(ftp.pwd()))
else:
self.log_message("Can't change Directory")
此代码当前工作是否有新的目录给出的parameter
,如果现有目录中给出,该回溯来。
Traceback (most recent call last):
File "C:/Users/Ajay/PycharmProjects/database/config.py", line 17, in <module>
ftp_obj.directory_exists(directory)
File "C:\Users\Ajay\PycharmProjects\database\ftp.py", line 51, in directory_exists
self.make_directory(directory_name) and self.change_directory(directory_name)
File "C:\Users\Ajay\PycharmProjects\database\ftp.py", line 34, in make_directory
if ftp.mkd(directory):
File "C:\Python27\lib\ftplib.py", line 568, in mkd
resp = self.sendcmd('MKD ' + dirname)
File "C:\Python27\lib\ftplib.py", line 244, in sendcmd
return self.getresp()
File "C:\Python27\lib\ftplib.py", line 219, in getresp
raise error_perm, resp
ftplib.error_perm: 550 Can't create directory: File exists
我的代码函数调用逻辑:
directory = '/new'
ftp_obj.directory_exists(directory)
'if ftp.cwd(directory):''cwd''通常表示“当前工作目录”。你可能根本没有改变目录,只是得到当前的那个 – goncalopp
这不是''和'工作的方式...... – jonrsharpe
@goncalopp当给出服务器**中不存在的新目录**时,它使该目录和光盘成功。 – ajkumar25