데이터베이스에서 쿼리 결과를 가져와 파일에 쓰고 파일을 다른 서버로 보내주는 작은 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
코드의 잘못된 라인은 그냥 대신에 기록되고있는 하나의 출력 파일의 복사본을 사용하여 시도
sftp.put(outputfile, sftpoutputfile)
입니다 스크립트와 그것이 예상했던대로 정확하게 작동합니다. 파일을 작성한 후 (그리고 sftp를 설정하기 전에) file.close()
을 호출하려고합니다. 그러면 파일이 잘 보이고 닫혀 있어야하며 사용 가능한 것처럼 보입니다. 누군가 내가 뭘 잘못하고 있다고 말할 수 있습니까? 도움이된다면 더 많은 코드를 게시 할 수 있습니다. 고맙습니다.
아, 보니 - 파일에 쓰면 문자열이 아닌 파일이됩니다. 나는 너무 많은 PHP를 해왔다. 신속한 답변을 해주셔서 대단히 감사합니다. – moexu