【编程小知识杂记】sftp从Linux服务器传文件到本地

1 实现

def remote_scp():
    t = paramiko.Transport((server_ip, server_port))
    t.connect(username=server_user, password=server_passwd)
    sftp = paramiko.SFTPClient.from_transport(t)
    src = 源文件路径及文件名
    des = 本地路径及文件名
    sftp.get(src, des)
    t.close()

2 注意事项

这个包初次使用有很多不习惯,导致容易出错,需注意以下两点:
(1)server_ip, server_port需要当成一个整体传入:

t = paramiko.Transport((server_ip, server_port))

(2)本地存放路径不能只写到文件夹,还需要指定一个文件,传输后的文件名即为该文件的文件名。如:

des = r'E:\data\demo.tar.gz'
# 最终传输下来的文件即为demo.tar.gz

只指定文件夹不指定文件名的话会报错“PermissionError: [Errno 13] Permission denied”,这是因为传输的时候会将指定的文件夹当成传输后要写入的文件名,从而报此错误。


本人独自运营了微信公众号,用于分享个人学习及工作生活趣事,大家可以关注一波。(微信搜索“微思研”)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

⁣北潇

老板大气!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值