Python Can';t使用pysftp将文件夹上载到Sftp

Python Can';t使用pysftp将文件夹上载到Sftp,python,pysftp,Python,Pysftp,不知道为什么这样做不起作用,我正试图将整个目录从本地驱动器上载到sftp,但不是上载文件夹,而是创建一个类似于“\20200131\doc1.txt”的文件?我已经做了几个小时了,我想我错过了什么 def upload_files_to_sftp(): localpath = r"c:\test\" remotepath = "/uploads/test_Unzipped" for root,dirs,_ in os.walk(r"c:\test"):

不知道为什么这样做不起作用,我正试图将整个目录从本地驱动器上载到sftp,但不是上载文件夹,而是创建一个类似于“\20200131\doc1.txt”的文件?我已经做了几个小时了,我想我错过了什么

def upload_files_to_sftp():
    localpath = r"c:\test\" 
    remotepath = "/uploads/test_Unzipped"
    for root,dirs,_ in os.walk(r"c:\test"):
        for d in dirs:
            folders_to_upload = (os.path.join(root,d))
            print(folders_to_upload)
            with pysftp.Connection('mysftp', username='username', password='mypassword') as sftp:
                sftp.put_r(localpath , remotepath)

通常,sftp服务器还将授予ssh访问权限

如果您具有ssh访问权限,则可以:

(cd /source/dir && tar --create --sparse --one-file-system .) | ssh example.com 'cd /target/dir && tar xfp -'

…例如,使用cygwin tar和ssh。照此,这可以很容易地简化为shell中的一行程序。

通常sftp服务器也会授予ssh访问权限

如果您具有ssh访问权限,则可以:

(cd /source/dir && tar --create --sparse --one-file-system .) | ssh example.com 'cd /target/dir && tar xfp -'

…例如,使用cygwin tar和ssh。瞧,这可以很容易地简化为外壳中的一个衬里。

我们已经完成了这方面的混合解决方案,感谢您的帮助。我们已经完成了这方面的混合解决方案,感谢您的帮助