使用 python 从 SFTP 拉取文件

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 中提取文件并保存在本地 但是我遇到了以下错误

陈=t.open_session( AttributeError: 'NoneType' 对象没有属性 'open_session'

请指教

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)