- 论坛徽章:
- 0
|
本帖最后由 pythonTester 于 2016-01-05 11:02 编辑
python实现ftp 到ftp服务器,然后切换目录的代码,但是在 红色高亮部分的语句,报错501 ftplib.error_perm: 501 Syntax error in arguments.
remoteDir 是一个 字符串类型变量,存放的路径为 remoteDir = ' /sysdisk0/xgwconfig'
class ftpSysOpt_Qwener:
def __init__(self):
## self.ftpObj = ftplib.FTP()
self.ftp_threads = []
self.ftpConnections = {}
self.xGW = '1.1.1.1'
pass
def _ftp_connect_to(self,task,addr,port,username,passcode,conTimOut=60):
username = str(username)
passcode = str(passcode)
addr = str(addr)
port = int(port)
self.ftpConnections[task] = ftplib.FTP()
try:
socket.setdefaulttimeout(conTimOut)
self.ftpConnections[task].set_pasv(True)
ret = self.ftpConnections[task].connect(addr,port)
self.print_info(ret)
ret = self.ftpConnections[task].login(username,passcode)
self.print_info(ret)
respInfo = str(self.ftpConnections[task].getwelcome())
logger.info('FTP login success: %s\n' % respInfo)
self.print_info(ret)
except Exception:
logger.info('FTP login failed..!!\nIncorrect username or password..!!\n')
def Open_Ftp_Srv(self,task):
ftpN,ftpPwd,ftpAddr,ftpPort,ftpDir = self._get_xgwFtpInfo()
self._ftp_connect_to(task,ftpAddr,ftpPort,ftpN,ftpPwd)
return ftpDir
def Open_Ftp_Dir(self,task):
currentPath = ''
remoteDir = self.Open_Ftp_Srv(task)
## try:
self.ftpConnections[task].set_debuglevel(2)
self.ftpConnections[task].pwd()
self.ftpConnections[task].cwd(remoteDir)
print 'FILE: Qwener_ftpSrvInfo.log - FTP path: %s \n' % remoteDir
currentPath = self.ftpConnections[task].pwd()
print 'FTP Opened Directory: %s \n' % currentPath
## except Exception:
## self.error_info('Change the Remote Directory is Failed..!!')
if '' != currentPath:
return currentPath
else:
raise ValueError, 'Can not get the remote directory..!!\n'
调试结果:
230 Login successful.
*cmd* 'PWD'
*put* 'PWD\r\n'
*get* '257 "/" is current directory.\r\n'
*resp* '257 "/" is current directory.'
*cmd* 'CWD /sysdisk0/xgwconfig'
*put* 'CWD /sysdisk0/xgwconfig\r\n'
*get* '501 Syntax error in arguments.\r\n'
*resp* '501 Syntax error in arguments.'
Traceback (most recent call last):
File "<string>", line 138, in run
File "C:\Python26\Lib\bdb.py", line 368, in run
exec cmd in globals, locals
File "D:\00_jenkins\jenkinsPythonLib\ftpSysOpt_Qwener.py", line 187, in <module>
main()
File "D:\00_jenkins\jenkinsPythonLib\ftpSysOpt_Qwener.py", line 171, in main
ftpOptObj.Delete_Cfg_xGW()
File "D:\00_jenkins\jenkinsPythonLib\ftpSysOpt_Qwener.py", line 156, in Delete_Cfg_xGW
cfgPath = self.Open_Ftp_Dir(task)
File "D:\00_jenkins\jenkinsPythonLib\ftpSysOpt_Qwener.py", line 118, in Open_Ftp_Dir
self.ftpConnections[task].cwd(remoteDir)
File "C:\Python26\Lib\ftplib.py", line 537, in cwd
return self.voidcmd(cmd)
File "C:\Python26\Lib\ftplib.py", line 248, in voidcmd
return self.voidresp()
File "C:\Python26\Lib\ftplib.py", line 223, in voidresp
resp = self.getresp()
File "C:\Python26\Lib\ftplib.py", line 218, in getresp
raise error_perm, resp
ftplib.error_perm: 501 Syntax error in arguments. // 实现看不出,cwd入参有什么语法错误 |
|