データベースからクエリ結果を取得し、ファイルに書き込んだり、別のサーバーにファイルを書き込んだりする小さなPythonスクリプトを作成しようとしています。作品はうまく動作しますが、書かれた直後にファイルをsftpしようとすると奇妙なエラーが発生します。Python/ParamikoでSFTPエラーが発生しました。
私は取得していますエラーが
File "/usr/lib/python2.4/site-packages/paramiko/sftp_client.py", line 558, in put
file_size = os.stat(localpath).st_size
TypeError: coercing to Unicode: need string or buffer, file found
は、コードの問題のある行がちょうど私が代わりに書き込まれているのOneの出力ファイルのコピーを使用してみました
sftp.put(outputfile, sftpoutputfile)
ですスクリプトとそれが想定されていたとおりに正確に動作しました。私はfile.close()
にファイルが書き込まれた後(そしてsftpを設定する前に)呼び出すので、ファイルがうまくいき、それ以降は使えるように思えます。誰かが私が間違っていることを教えてもらえますか?それが役に立つとすれば、もっとコードを投稿することができます。どうもありがとうございました。
ああ、私は見る - それを書くと、ファイルになり、文字列にはならない。私はあまりにも多くのPHPをやっている。迅速な対応をありがとうございます。 – moexu