我想遞歸地將文件從Linux服務器下載到Windows桌面。 我使用下面的代碼:在linux和windows之間使用pysftp.get_r傳輸文件
import pysftp
import sys
cnopts = pysftp.CnOpts()
cnopts.hostkeys = None
with pysftp.Connection(host="192.168.1.1", username="user", password="secret", cnopts=cnopts) as sftp:
sftp.get_r ('test_sftp', 'C:\\Users\\user\\Desktop\\my_dir\\', preserve_mtime=False)
sftp.close()
我已在encoutered以下錯誤(在遞歸複製文件):
Traceback (most recent call last):
File "blah.py", line 12, in <module>
sftp.get_r ('teste_sftp', 'C:\\Users\\user\\Desktop\\my_dir\\', preserve_mtime=False)
File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-packages\pysftp\__init__.py", line 311, in get_r
preserve_mtime=preserve_mtime)
File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-packages\pysftp\__init__.py", line 249, in get
self._sftp.get(remotepath, localpath, callback=callback)
File "C:\Users\user\AppData\Local\Programs\Python\Python36\lib\site-packages\paramiko\sftp_client.py", line 720, in get
with open(localpath, 'wb') as fl:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\user\\Desktop\\my_dir\\test_sftp/n1/M51'
據我所知,pysftp正試圖重新創建文件夾結構源文件放入目標文件夾,但是它在Windows機器上工作並且斜線應該是反斜槓並不明智。
如何解決它?
你檢查了嗎? http://stackoverflow.com/questions/24427283/getting-a-files-from-remote-path-to-local-dir-using-sftp-in-python – Valilutzik
@Valilutzik,我做到了。這似乎是一個系統權限問題,他也在paramiko中使用不同的功能。 – LuizAngioletti