2017-10-10 240 views
1

我试图从SFTP服务器复制文件。 我可以使用python pysftp进行连接。 我可以运行:python pysftp [Errno 13] Permission denied:

data = srv.listdir() 
for i in data: 
print I 

然后我得到目录列表。但是,当我尝试

sftp.put (localpath,"file_name.txt") 

我得到

"IOError: [Errno 13] Permission denied: 'C:\....."

我有权限到该文件夹​​,因为我可以运行MKDIR并创建该文件夹目录。我已经尝试了许多不同的方法,但迄今为止没有运气,任何帮助都是真正的赞赏。

import pysftp 
import os 

def sftpExample(): 
cnopts = pysftp.CnOpts() 
cnopts.hostkeys = None 

with pysftp.Connection('HOST', username='username', password='Password', cnopts=cnopts) as sftp : 

    print 'connected ' 
    localpath="C:\\new project\\new" 
      remotepath="/folder1" 
    sftp.put(localpath,"infso.txt") 

sftp.put(localpath,remotepath) 
sftp.getfo (remotepath, localpath) 
srv.get_r(localpath, remotepath) 
srv.close() 

sftpExample() 

我得到这个错误代码:

Traceback (most recent call last): 
File "db_backup.py", line 42, in <module> 
sftpExample() 
File "db_backup.py", line 17, in sftpExample 
sftp.put(localpath,"GT-Dallas SFTP infso.txt") 
File "c:\Python27\lib\site-packages\pysftp\__init_.py", line 364, in put 
confirm=confirm) 
File "c:\Python27\lib\site-packages\paramiko\sftp_client.py", line 720, in put 
with open(localpath, 'rb') as fl: 
IOError: [Errno 13] Permission denied: "C:\\new project\\new" 

我已经尝试了所有不同的方式,你看,但是我已经没有运气迄今复制的文件。

回答

0

有可能会导致您的问题的几件事情,但站出来给我一个来自你的错误消息:

IOError: [Errno 13] Permission denied: "C:\\new project\\new" 

这可能是你需要躲避空间("\ ")或把它放在一个原始字符串r"C:\My Path With Spaces"

但在任何情况下,我会避免在文件名中使用空格,你应该像new_projectnewproject重命名项目文件夹的东西。

,将让您的生活更轻松的一件事是,如果你压缩的目录复制到单个档案文件(.tgz.zip或东西)和转让文件。

相关问题