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


Posted in Python onJanuary 03, 2020

今天接到一个小需求,就是想在windows环境下,上传压缩文件到linux指定的目录位置并且解压出来,然后我想了一下,这个可以用python试试写下。

环境:

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

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

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

代码如下

#!/usr/bin/env python
import paramiko
import sys
src_file = sys.argv[1]#windows下的源文件
dsc_path = sys.argv[2]
#linux上的目录路径
key_path = '私钥路径'
password = '密码'
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(('ip', 端口号))
transport.connect(username='root', pkey=private_key) # 连接服务器
def upload():
  sftp = paramiko.SFTPClient.from_transport(transport)
  try:
    sftp.put(src_file, dsc_path + '/' + src_file)
    print('上传成功')
  except Exception as e:
    print(e)
  ssh.close()
def unzip():
  ssh._transport = transport
  stdin, stdout, stderr = ssh.exec_command('cd ' + dsc_path + '&&' + 'unzip -o ' + src_file)
  result = stdout.read().decode()
  if result.strip() != '':
    print('解压成功')
  else:
    print('Error message ' + stderr.read().decode())
  ssh.close()
if __name__ == '__main__':
  upload()
  unzip()

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

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

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

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

总结 :这只是一个简单上传解压功能,请多多指教。

总结

以上所述是小编给大家介绍的python实现上传文件到linux指定目录的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python中的闭包实例详解
Aug 29 Python
pymongo实现控制mongodb中数字字段做加法的方法
Mar 26 Python
详解Python的Django框架中的Cookie相关处理
Jul 22 Python
Python实现周期性抓取网页内容的方法
Nov 04 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
May 17 Python
Python中的变量和作用域详解
Jul 13 Python
Python加密方法小结【md5,base64,sha1】
Jul 13 Python
适合Python初学者的一些编程技巧
Feb 12 Python
Pycharm Git 设置方法
Sep 15 Python
Python特殊属性property原理及使用方法解析
Oct 09 Python
如何利用python读取micaps文件详解
Oct 18 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
Dec 14 Python
pytorch::Dataloader中的迭代器和生成器应用详解
Jan 03 #Python
django商品分类及商品数据建模实例详解
Jan 03 #Python
PyTorch和Keras计算模型参数的例子
Jan 02 #Python
Pytorch中实现只导入部分模型参数的方式
Jan 02 #Python
PyTorch中topk函数的用法详解
Jan 02 #Python
Pytorch训练过程出现nan的解决方式
Jan 02 #Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
Jan 02 #Python
You might like
php使用qr生成二维码的示例分享
2014/01/20 PHP
PHP实现在线阅读PDF文件的方法
2015/06/17 PHP
PHP文件下载实例代码浅析
2016/08/17 PHP
php求斐波那契数的两种实现方式【递归与递推】
2019/09/09 PHP
模拟多级复选框效果的jquery代码
2013/08/13 Javascript
jQuery CSS()方法改变现有的CSS样式
2014/08/20 Javascript
JS获取下拉框显示值和判断单选按钮的方法
2015/07/09 Javascript
如何通过js实现图片预览功能【附实例代码】
2016/03/30 Javascript
javascript创建含数字字母的随机字符串方法总结
2016/08/01 Javascript
jQuery Easyui Tabs扩展根据自定义属性打开页签
2016/08/15 Javascript
超详细的JS弹出窗口代码大全
2020/04/18 Javascript
bootstrap使用validate实现简单校验功能
2016/12/02 Javascript
简单实现JS计算器功能
2016/12/21 Javascript
Vue.js组件使用props传递数据的方法
2019/10/19 Javascript
node.js中module模块的功能理解与用法实例分析
2020/02/14 Javascript
微信小程序以ssm做后台开发的实现示例
2020/04/08 Javascript
基于原生js实现判断元素是否有指定class名
2020/07/11 Javascript
nodeJs项目在阿里云的简单部署
2020/11/27 NodeJs
[02:48]DOTA2超级联赛专访海涛:你们的选择没有错
2013/06/07 DOTA
Python中使用socket发送HTTP请求数据接收不完整问题解决方法
2015/02/04 Python
Python编程实现使用线性回归预测数据
2017/12/07 Python
用TensorFlow实现多类支持向量机的示例代码
2018/04/28 Python
python3实现网络爬虫之BeautifulSoup使用详解
2018/12/19 Python
Python3实现的旋转矩阵图像算法示例
2019/04/03 Python
Python3.6+Django2.0以上 xadmin站点的配置和使用教程图解
2019/06/04 Python
Python QQBot库的QQ聊天机器人
2019/06/19 Python
Cpython解释器中的GIL全局解释器锁
2020/11/09 Python
css3针对移动端卡顿问题的解决(动画性能优化)
2020/02/14 HTML / CSS
英国护肤品购物网站:Beauty Expert
2016/08/19 全球购物
全球最大的服务市场:Fiverr
2017/01/03 全球购物
元旦联欢会主持词
2014/03/26 职场文书
2015年见习期工作总结
2014/12/12 职场文书
房屋租赁意向书范本
2015/05/09 职场文书
工作简报格式范文
2015/07/21 职场文书
导游词之河北滦平金山岭长城
2019/10/16 职场文书
排查并解决Oracle sysaux表空间异常增长
2022/04/20 Oracle