python如何实现上传文件到linux指定目录的方法

  介绍

这篇文章主要介绍了python如何实现上传文件到linux指定目录的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

<强>环境:

1。linux操作系统一台windows 2.
环境安装Python3。x
3。Pycharm IDE环境

大家如果对paramiko模块不熟悉的话,可以去了解哈。

上传文件用到SFTPCLient, SFTPCLient作为一个sftp的客户端对象,根据ssh传输协议的sftp会话,实现远程文件操作,如上传,下载,权限,状态。

代码如下

# !/usr/bin/env  python   import  paramiko   import 系统   src_file =系统。argv [1] # windows下的源文件   dsc_path =系统。argv [2] # linux上的目录路径   时间=key_path  & # 39;私钥路径& # 39;   时间=password  & # 39;密码& # 39;   时间=ssh  paramiko.SSHClient(), #,创建SSH对象   时间=private_key  paramiko.RSAKey.from_private_key_file (key_path), #,指定私钥   ssh.set_missing_host_key_policy (paramiko.AutoAddPolicy()) #,允许连接不在know_hosts文件中的主机   时间=transport  paramiko.Transport ((& # 39; ip # 39;,,端口号))   transport.connect(用户名=& # 39;根# 39;,,pkey=private_key), #,连接服务器   def 上传():   时间=sftp 才能;paramiko.SFTPClient.from_transport(运输)   尝试才能:   ,,,sftp.put (src_file, dsc_path  +, & # 39;/& # 39;, +, src_file)   ,,,print(& # 39;上传成功& # 39;)   except 才能;Exception  as  e:   ,,,印刷(e)   ssh.close才能()   def 解压缩():   ssh._transport =,才能运输   ,,stdin、stdout,, stderr =, ssh.exec_command (& # 39; cd  & # 39;, +, dsc_path  +, & # 39;,, & # 39;, +, & # 39; unzip  -o  & # 39;, +, src_file)   时间=result 才能;stdout.read () .decode ()   if 才能;result.strip (), !=, & # 39; & # 39;:   ,,,print(& # 39;解压成功& # 39;)   其他的才能:   ,,,print (& # 39; Error  message  & # 39;, +, stderr.read () .decode ())   ssh.close才能()   if  __name__ ==, & # 39; __main__ # 39;:   上传才能()   解压才能()

可以分别通过Pycharm或者cmd来测试脚本运行,下面是用Pycharm测试,把应用程序。zip文件上传到Linux服务器的/tmp目录下,并且解压

, python  upload_file.py  apps.zip /tmp   ,上传成功   ,解压成功

然后登陆到Linux服务器的/tmp目录查看是否有压缩文件并且解压

 python如何实现上传文件到Linux指定目录的方法”>,</p> <p>总结:这只是一个简单上传解压功能,请多多指教。</p> <p class=感谢你能够认真阅读完这篇文章,希望小编分享的“python如何实现上传文件到Linux指定目录的方法”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

python如何实现上传文件到linux指定目录的方法