2013-02-12 29 views
2

如何使用sftp paramiko客户端上传文件后获取远程文件的大小? ?如何获取远程文件的大小?

ssh = paramiko.SSHClient() 
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
ssh.connect(cs.host, username = 'test', password = 'test', timeout=10) 
sftp = ssh.open_sftp() 
res = sftp.put(filepath, destination) 

+0

你没有完全清理你的代码? 'self'从哪里来?假设:你从一个类中提取你的代码,忘记删除'='右边的自己。 – 2013-02-12 14:14:51

+0

@ThorstenKranz:这是一个很大的问题吗?我们知道了.. – 2013-02-12 14:17:17

+0

谁说这是一个大问题?我正要编辑这个问题来整理,但是担心我可能错过了一些东西。 – 2013-02-12 14:18:19

回答

11

使用.stat() method

info = self.sftp.stat(destination) 
print info.st_size 

.stat()方法如下符号链接;如果这不可取,请改用.lstat()方法。

请参阅SFTPAttributes class information以了解可用的属性。 .st_size是以字节为单位的大小。

2

您可以使用此方法:

lstat(self, path) 

见的paramiko docs