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设计】。

相关文章

阿里云ECS服务器部署django的方法

参考 服务器安装的是Centos 系统。 uwsgi是使用pip安装的。 nginx是使用yum install nginx安装。 python 2.7, mysql 5.5使用 yum...

Linux下将Python的Django项目部署到Apache服务器

这几天花了点时间,将把django开发好的web项目部署到Apache上,参考了官方的一些文档和互联网上的文档,还是花了比较多的时间,这里把配置的过程说一下。 方便有需要的朋友,可以参考...

centos+nginx+uwsgi+Django实现IP+port访问服务器

centos+nginx+uwsgi+Django实现IP+port访问服务器

环境 MacBookAir 阿里云ESC: Centos7.0 nginx+1.16.1 uwsgi=2.0.18 django=2.2.7 服务器 进入阿里云...

python下paramiko模块实现ssh连接登录Linux服务器

本文实例讲述了python下paramiko模块实现ssh连接登录Linux服务器的方法。分享给大家供大家参考。具体分析如下: python下有个paramiko模块,这个模块可以实现s...

尝试用最短的Python代码来实现服务器和代理服务器

尝试用最短的Python代码来实现服务器和代理服务器

一个最简单的服务器 Python拥有这种单独起一个服务器监听端口的能力,用标准库的wsgiref就行。 from wsgiref.simple_server import make...