使用python从SFTP拉文件

扎眼的阳光 python 194

原文标题file pull from SFTP using python

from msilib.schema import Directory
import pysftp
import os
import glob
import fnmatch
from datetime import date, timedelta
 
cnopts = pysftp.CnOpts()

cnopts.hostkeys = None

myHostname = 'sftp.mmm.com'
myUsername = 'uuuu'
myPassword = 'pass'

with pysftp.Connection(host=myHostname, username=myUsername, password=myPassword, cnopts=cnopts) as sftp:
    print("Connection Success")

remotefilepath='/REPORTING/test.zip'

localfilepath='Z:\\data\\sftp_data\\'

sftp.get(remotefilepath,localfilepath)

大家好我一直在使用上面的代码从 SFTP 中提取文件并保存在本地但是我遇到以下错误

chan = t.open_session(AttributeError: ‘NoneType’ 对象没有属性 ‘open_session’

请指教

原文链接:https://stackoverflow.com//questions/71476641/file-pull-from-sftp-using-python

回复

我来回复
  • Tim Roberts的头像
    Tim Roberts 评论

    with语句结束,打印后,连接自动关闭。 with就是为了这个。要么改成简单的

    sftp = pysftp.Connection(host=myHostname, username=myUsername, password=myPassword, cnopts=cnopts)
    

    或缩进脚本的其余部分,使其位于with内:

    with pysftp.Connection(host=myHostname, username=myUsername, password=myPassword, cnopts=cnopts) as sftp:
        print("Connection Success")
        remotefilepath='/REPORTING/test.zip'
        localfilepath='Z:\\data\\sftp_data\\'
        sftp.get(remotefilepath,localfilepath)
    
    2年前 0条评论