如何获取远程文件大小?

9 投票
2 回答
16737 浏览
提问于 2025-04-17 15:37

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

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

?

2 个回答

3

你可以使用这个方法:

lstat(self, path)

可以查看 paramiko 的 文档

19

使用 .stat() 方法

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

.stat() 方法会跟随符号链接(symlink),如果你不想这样,可以使用 .lstat() 方法

想了解有哪些属性可以使用,可以查看 SFTPAttributes 类的信息。其中,.st_size 是文件的大小,单位是字节。

撰写回答