2016-07-21 9 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) 

これは単なるテストファイルだったを取得します。テスト用の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

あなたが正しく使用しているとは思わないので、scpを使って経験を積んだ人を得るために、あなたの質問に 'bash'というタグを付けることを検討してください。 –

答えて

1

open()であなたはそれを読み書きするファイルを開きます。あなたが望むのは、文字列をconcatinateし、これをscpのパラメータとして使用することです。コピーしたいファイルも存在しないかもしれません - 構築したパスを印刷して手動でチェックしてみましたか? destinationはどこにでも定義しましたか?このメッセージは、システムがscpを見つけることができないことを意味する可能性もあります。

+1

ありがとう、しかし、私は実際にparamikoフレームワークを使用して終了しました。すばやく簡単でした。再度、感謝します – ryanwaite28

関連する問題