初始化paramiko sftp客户端:
t = paramiko.Transport((self.sftp_server,7790))
t.connect(None,self.sftp_user,self.sftp_pw)
sftp = paramiko.SFTPClient.from_transport(t)
列出文件:
dirlist = sftp.listdir(".")
print("Dirlist: %s" % dirlist)
files = sftp.listdir(path=self.location)
print(files)
正确提供所有文件。
但是从列表中读取文件时
with sftp.open('/VA_EBAC_UP/EBAC_Article_KPI_Report.txt',"r") as f:
data = f.read()
我得到一个错误:
捕获的异常::文件路径 [EBAC_Article_KPI_Report.txt]非法。
完整堆栈跟踪:
Traceback (most recent call last):
File "get_sftp_file_yohan.py",line 234,in get_ftp_files
with sftp.open('/VA_EBAC_UP/EBAC_Article_KPI_Report.txt',"r") as f:
File "/lib/python3.6/site-packages/paramiko/sftp_client.py",line 372,in open
t,msg = self._request(CMD_OPEN,filename,imode,attrblock)
File "/lib/python3.6/site-packages/paramiko/sftp_client.py",line 813,in _request
return self._read_response(num)
File "/lib/python3.6/site-packages/paramiko/sftp_client.py",line 865,in _read_response
self._convert_status(msg)
File "/lib/python3.6/site-packages/paramiko/sftp_client.py",line 898,in _convert_status
raise IOError(text)
OSError: File path [EBAC_Article_KPI_Report.txt] illegal.