Den*_*tes 8 python sftp pysftp
我正在尝试加载(并直接保存在本地).csv
存储在FTP服务器(SFTP协议)上的文件.我正在将Python与pysftp库结合使用.当我检查文件是否存在时,它返回TRUE.但是在尝试加载文件时,无论我尝试什么,它似乎都是空的.
如何将文件存入(并存储)到我的本地环境?我想念一些明显的东西吗?
import pysftp
cnopts = pysftp.CnOpts()
cnopts.hostkeys = None
# Make connection to sFTP
with pysftp.Connection(hostname,
username=sftp_username,
password=sftp_pw,
cnopts = cnopts
) as sftp:
sftp.isfile('directory/file.csv')) ## TRUE
file = sftp.get('directory/file.csv')
print(file) ## None
sftp.close()
Run Code Online (Sandbox Code Playgroud)
Mar*_*ryl 15
Connection.get
没有任何回报.它将远程文件下载到localpath
参数指定的本地路径.如果未指定参数,则会将文件下载到当前工作目录.
所以你想要这个:
sftp.get('directory/file.csv', '/local/path/file.csv')
Run Code Online (Sandbox Code Playgroud)
如果你真的想要将文件读取到变量(我理解你实际上不需要),你需要使用Connection.getfo
,如:
flo = BytesIO()
sftp.getfo(remotepath, flo)
Run Code Online (Sandbox Code Playgroud)
或者,直接使用Paramiko库(不使用pysftp包装器).
请参阅使用python从ssh读取服务器中的文件.
归档时间: |
|
查看次数: |
17942 次 |
最近记录: |