2016-07-21 6 views
1

В приложении My Flask я хочу загрузить файл на удаленный сервер.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) 

это всего лишь тестовый файл. есть образ в том же каталоге, что и мой тестовый файл python. ошибка сказал:

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

Подумайте о том, чтобы пометить свой вопрос с помощью 'bash', чтобы получить людей с опытом использования scp, потому что я не думаю, что вы используете его правильно. –

ответ

1

С open() вы открываете файл для чтения или записи на него. Вы хотите сконфигурировать строку и использовать ее как параметр для scp. Возможно, файл, который вы хотите скопировать, также не существует - попробовали ли вы напечатать путь, который вы создали, и проверить его вручную? И вы определили destination в любом месте? Это сообщение также может означать, что система не может найти scp.

+1

Спасибо, но я на самом деле закончил использование paramico framework. это было быстро и легко. еще раз спасибо – ryanwaite28