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 中的列表解析和生成表达式
Mar 10 Python
Python中的zipfile模块使用详解
Jun 25 Python
Python制作简易注册登录系统
Dec 15 Python
Python字典操作详细介绍及字典内建方法分享
Jan 04 Python
zookeeper python接口实例详解
Jan 18 Python
Python numpy中矩阵的基本用法汇总
Feb 12 Python
OpenCV+face++实现实时人脸识别解锁功能
Aug 28 Python
Python实现变声器功能(萝莉音御姐音)
Dec 05 Python
python 引用传递和值传递详解(实参,形参)
Jun 05 Python
python3.x中安装web.py步骤方法
Jun 23 Python
如何完美的建立一个python项目
Oct 09 Python
Python3中PyQt5简单实现文件打开及保存
Jun 10 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 数据结构 算法描述 冒泡排序 bubble sort
2011/07/10 PHP
php判断手机访问还是电脑访问示例分享
2014/01/20 PHP
ThinkPHP3.1查询语言详解
2014/06/19 PHP
推荐一款PHP+jQuery制作的列表分页的功能模块
2014/10/14 PHP
Jquery 常用方法经典总结
2010/01/28 Javascript
为Extjs加加速(javascript加速)
2010/08/19 Javascript
疯狂Jquery第一天(Jquery学习笔记)
2012/05/11 Javascript
JS操作JSON方法总结(推荐)
2016/06/14 Javascript
利用Angularjs和Bootstrap前端开发案例实战
2016/08/27 Javascript
vue + socket.io实现一个简易聊天室示例代码
2017/03/06 Javascript
Node.js使用Express创建Web项目详细教程
2017/03/31 Javascript
自制简易打赏功能的实例
2017/09/02 Javascript
微信小程序学习笔记之文件上传、下载操作图文详解
2019/03/29 Javascript
[01:00:12]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第一场
2018/04/09 DOTA
python回调函数的使用方法
2014/01/23 Python
Python2随机数列生成器简单实例
2017/09/04 Python
Python使用asyncio包处理并发详解
2017/09/09 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
2018/02/21 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
2019/08/12 Python
OpenCV图片漫画效果的实现示例
2020/08/18 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
2020/09/04 Python
Brasty波兰:香水、化妆品、手表网上商店
2019/04/15 全球购物
阿里巴巴美国:Alibaba美国
2019/11/24 全球购物
Java工程师面试集锦之Spring框架
2013/06/16 面试题
高等教育学自荐书范文
2014/02/10 职场文书
学习雷锋倡议书
2014/04/15 职场文书
2014年教师党员自我评价范文
2014/09/22 职场文书
班子成员四风问题自我剖析材料
2014/09/29 职场文书
会议欢迎词范文
2015/01/27 职场文书
收银员岗位职责范本
2015/04/07 职场文书
2016年教师节感言
2015/12/09 职场文书
年终奖金发放管理制度,中小企业适用,拿去救急吧!
2019/07/12 职场文书
MySQL 表空间碎片的概念及相关问题解决
2021/05/07 MySQL
Java基础之this关键字的使用
2021/06/30 Java/Android
《异世界四重奏》剧场版6月10日上映 PV视觉图原创角色发表
2022/03/20 日漫
Java 通过手写分布式雪花SnowFlake生成ID方法详解
2022/04/07 Java/Android