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 回答