Why it doesn't work?

作業のメモ、記録をブログに残しています。

Python scpでファイル転送 経過を表示

久しぶりのscp関連の記事です。
www.whyit.work
で、scpでファイル転送に関する記事を書きましたが、今回はファイル転送時に、経過を表示させてみます。
前回のソースコードに追加してみます。

import paramiko
import scp
import sys

ip_addr= '169.254.xxx.xxx'
user_name = 'root'
private_key = 'private_key.txt'

def progress(filename, size, sent):
    sys.stdout.write("%s\'s progress: %.2f%% \r" % (filename, float(sent)/float(size)*100) )

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=ip_addr, port=22, username=user_name, key_filename=private_key)
# create scp client object
scp_client =  scp.SCPClient(client.get_transport(), progress = progress)
# Get request to scp
scp_client.get('/home/root/xxx.txt')

scp_client.close()
client.close()

これを実行すると以下のように経過が表示されます(既に100%ですけど)。
f:id:zakiyamatakashi:20190701093600p:plain
今日はここまで。