python基于paramiko将文件上传到服务器代码实现

yipeiwu_com6年前服务器

python通过安装使用paramiko模块,将本地文件上传到服务器上

import paramiko
import datetime
import os

hostname = '服务器ip'
username = 'root'
password = '服务器密码'
port = 22#配置信息可以写到配置文件中
#loacl_file是要上传的本地文件路径
#remote_path是要上传到服务器上指定文件的路径
def upload(local_file, remote_path):
  try:
    t = paramiko.Transport((hostname, port))
    t.connect(username=username, password=password)
    sftp = paramiko.SFTPClient.from_transport(t)
    print('开始上传文件%s ' % datetime.datetime.now())

    try:
      sftp.put(local_file, remote_path)
    except Exception as e:
      sftp.mkdir(os.path.split(remote_path)[0])
      sftp.put(local_file, remote_path)
      print("从本地: %s 上传到: %s" % (local_file, remote_path))
    print('文件上传成功 %s ' % datetime.datetime.now())
    t.close()
  except Exception as e:
    print(repr(e))


if __name__ == '__main__':
  local_file = r'/home/shl/dataETL/timings/words/word_pos.csv'
  remote_path = os.path.join('/home/',"word_pos.csv")
  upload(local_file, remote_path)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Ruby使用eventmachine为HTTP服务器添加文件下载功能

思路: 使用ruby eventmachine和em-http-server gem,完成一个简单的提供文件下载功能的HttpServer; 使用了EM的FileStreamer来异步发...

Python写的Socks5协议代理服务器

直接上代码: #!/usr/bin/python # Filename s5.py # Python Dynamic Socks5 Proxy # Usage: python...

Windows服务器中PHP如何安装redis扩展

Windows服务器中PHP如何安装redis扩展

一、总结 一句话总结:下载扩展的dll,放入指定文件夹(php对应的扩展的目录php/ext),在配置文件php.ini中注册dll 尽量不要选择最新版php和redis扩展,下载时文件...

python获取服务器响应cookie的实例

总结 调试网站获取cookies时请查看,r.header和r.request.header这两个属性,因为cookie说不准出现在他们俩谁里面。 先贴一个代码 import re...

利用Python如何批量更新服务器文件

前言 买了个Linux服务器,Centos系统,装了个宝塔搭建了10个网站,比如有时候要在某个文件上加点代码,就要依次去10个文件改动,虽然宝塔是可视化页面操作,不需要用命令,但是也麻烦...