0

リモートファイルを「取得」しようとすると、次の結果が得られます。印刷でき、ファイルがそこにあることを知っています。ファイルをリストに組み込む必要がありますか?

file_list_attr = sftp.listdir_attr()
for pfile in file_list_attr:
    if DT.datetime.fromtimestamp(pfile.st_mtime) > yesterday:
       # print pfile
       localfile = path + "\\" + pfile
       sftp.get(pfile,localfile) 



Traceback (most recent call last):
  File "C:\Documents and Settings\tyoffe\Desktop\FTP", line 41, in <module>
localfile = path + "\\" + pfile
TypeError: cannot concatenate 'str' and 'SFTPAttributes' objects
4

2 に答える 2

1

.filename代わりにプロパティを使用する必要があります。SFTPAttributesドキュメントを参照してください:

file_list_attr = sftp.listdir_attr()
for pfile in file_list_attr:
    if DT.datetime.fromtimestamp(pfile.st_mtime) > yesterday:
       # print pfile
       localfile = path + "\\" + pfile.filename
       sftp.get(pfile,localfile) 
于 2013-01-15T15:50:27.520 に答える
0

キーは最後の行にあります。

TypeError: cannot concatenate 'str' and 'SFTPAttributes' objects

このエラーは、SFTPAttributes オブジェクトが文字列ではなく、文字列は文字列としか連結できないことを示しています。SFTPAttributes を文字列に型キャストする方法がわかりません。試すことができるのは次のとおりです。

str(pfile)

または pfile.tostring() のようなもの

通常、最適な動作は、オブジェクト自体の詳細によって異なります。

于 2013-01-15T15:49:47.473 に答える