2013-02-12 28 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