2016-07-21 2 views
1

My Flask App에서 파일을 원격 서버에 업로드하고 싶습니다. Python. 업로드 된 파일을 원격 서버로 보내기

나는이 코드를 시도하지만 난이 단지 테스트 파일이었다

import subprocess 

import os 

c_dir = os.path.dirname(os.path.abspath(__file__)) 
myfile = open(c_dir + '\\cape-kid.png') 

p = subprocess.Popen(["scp", myfile, destination]) 
sts = os.waitpid(p.pid, 0) 

오류를 얻을. 내 테스트 파이썬 파일과 같은 디렉토리에 이미지가 있습니다. 오류가 말했다 :

Traceback (most recent call last): File "C:\Users\waite-ryan-m\Desktop\remote-saving\test-send.py", line 20, in p = subprocess.Popen(["scp", c_dir + '\cape-kid.png', 'destination']) File "C:\Users\waite-ryan-m\Desktop\WPython\WinPython-64bit-2.7.12.1Zero\python-2.7.12.amd64\lib\subprocess.py", line 711, in init errread, errwrite) File "C:\Users\waite-ryan-m\Desktop\WPython\WinPython-64bit-2.7.12.1Zero\python-2.7.12.amd64\lib\subprocess.py", line 959, in _execute_child startupinfo) WindowsError: [Error 2] The system cannot find the file specified

+0

scp를 사용하는 사람들에게 'bash'라는 질문을 붙이는 것을 고려해보십시오. 올바르게 사용한다고 생각하지 않기 때문입니다. –

답변

1

open() 사용하면 읽거나에 쓸 수있는 파일을 엽니 다. 원하는 것은 문자열을 concatinate하여 scp의 매개 변수로 사용하는 것입니다. 어쩌면 복사하려는 파일도 존재하지 않습니다. 생성 한 경로를 인쇄하고 수동으로 확인 했습니까? 그리고 destination을 어디에서 정의 했습니까? 이 메시지는 시스템이 scp을 찾을 수 없다는 것을 의미 할 수도 있습니다.

+1

고마워요.하지만 실제로 paramiko 프레임 워크를 사용하게되었습니다. 빠르고 쉽습니다. 다시 한 번 감사드립니다. – ryanwaite28

관련 문제