2017-10-10 40 views
1

SFTP 서버에서 파일을 복사하려고합니다. 파이썬 pysftp를 사용하여 연결할 수 있습니다. 다음을 실행할 수 있습니다.python pysftp [Errno 13] 권한이 거부되었습니다.

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

그리고 디렉토리 목록이 나타납니다. 내가

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

을하려고 할 때하지만 MKDIR을 실행할 수 있기 때문에 나는

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

내가 그 폴더에 권한이 얻을 수 있으며 해당 파일 경로에 디렉토리를 생성합니다. 나는 많은 다른 방법을 시도했지만 지금까지 아무런 도움이되지 않습니다. 난 당신이 그러나 지금까지 운이 했어 참조로 파일을 복사하는 모든 다른 방법을 시도했습니다

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" 

:

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() 

는이 오류 코드를 얻을.

답변

0

이 문제의 원인이 될 수있는 몇 가지가 있지만 나에게 눈에 띄는 사람은 오류 메시지에서 온다 :

IOError: [Errno 13] Permission denied: "C:\\new project\\new" 
그것은 당신이 공간을 탈출 할 필요가있을

("\ ") 또는 원시 문자열에 넣으십시오. r"C:\My Path With Spaces"

어떤 경우에도 파일 이름에 공백을 사용하지 말고 new_project 또는 newproject과 같은 이름으로 프로젝트 폴더의 이름을 바꾸어야합니다. 여러분의 인생을 더 쉽게 만들 것

또 다른 점은 단일 아카이브 파일 (.tgz 또는 .zip 또는 무언가) 및 전송 파일로 디렉토리를 압축 된 경우입니다.