python创建文件linux_Python脚本远程Linux创建目录、上传文件

最近这段时间,经常通过xftp在服务器上创建目录并上传文件,繁琐的事一直循环的做,因此一直在想通过Python脚本能自动创建目录,上传文件,询问公司大佬和百度终于找到了方法,接下来看看。

一. 说明

主要安装两个模块paramiko与scp,功能即可实现

paramiko是一个基于SSH用于连接远程服务器并执行相关操作(SSHClient和SFTPClinet,即一个是远程连接,一个是上传下载服务),使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的paramiko来现实。

scp是我们在shell上经常使用的命令,用来远程传输文件。python上也能做到scp的功能

一. 代码实例

# coding:utf-8

import paramiko

from scp import SCPClient

class Host:

def __init__(self):

self.user = ""

self.ip = "root"

self.password = "123456"

# 创建目录

def mkdir(self):

try:

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect(self.ip, username=self.user, password=self.password)

sftp = ssh.open_sftp()

sftp.mkdir("/data/etc/bill/20200224")

print("Create folder ‘20200224‘ in remote hosts successfully!\n")

ssh.close()

except:

print("Create folder failure!\n")

def upload_img(self,img_name, remote_path="/data/etc/bill/20200224",

file_path="D:\PythonProject\img"):

ssh_client = paramiko.SSHClient()

ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy)

ssh_client.connect(self.ip, username=self.user, password=self.password)

scpclient = SCPClient(ssh_client.get_transport(), socket_timeout=15.0)

local_path = file_path + "\\" + img_name

try:

scpclient.put(local_path, remote_path)

except FileNotFoundError as e:

print(e)

print("系统找不到指定文件" + local_path)

else:

print("文件上传成功")

ssh_client.close()

if __name__ == ‘__main__‘:

t = Host

print("Begin......\n")

t.mkdir()

img_name = 1.jpg

upload_img( img_name)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值