liunx上传文件服务

一、模块式使用

import paramiko

t = paramiko.Transport(('x.x.x.x',22))   # 设置SSH连接的远程主机地址和端口
t.connect(username='xxx',password='xxx')   # 设置登陆用户名和密码等参数
chan=t.open_session()   # 连接成功后打开一个channel
chan.settimeout(15)     # 设置会话超时时间
chan.get_pty()          # 打开远程的terminal
chan.invoke_shell()     # 激活terminal
chan.send("display current-configuration\n")
chan.send(" "*60)
time.sleep(5)   # 如果程序执行的太快,没有等到返回足够的信息,chan.recv(65535)不能得到想要的结果
# 使用一些条件循环,判断什么时候读取返回结果,实际经常报错啊!
# str.chan.recv(65535)
# while not str.endswith('#'):
#     str=chan.recv(65535)    #recv_buffer=65535
f = open("D:\\t.txt","w")
f.write(chan.recv(65535).decode('ascii'))
f.close()
t.close()

二、代码示例

#!/usr/bin/env python
#encoding:utf8
 
import paramiko
 
hostname = '192.168.0.0'
port = 22
username = 'root'
password = 'password'
 
localpath = "D:\Develop\Python\paramiko/\\test_file.txt"  #需要上传的文件(源)
remotepath = "/data/tmp/test_file.txt"      #远程路径(目标)
 
try:
              # 创建一个已经连通的SFTP客户端通道
              t = paramiko.Transport((hostname, port))
              t.connect(username=username, password=password)
              sftp = paramiko.SFTPClient.from_transport(t)
              
              # 上传本地文件到规程SFTP服务端
              sftp.put(localpath,remotepath) #上传文件
              
              # 下载文件 
              sftp.get(remotepath,'D:\Develop\Python\paramiko/\\test_down.txt')
              
              # 创建目录
              # sftp.mkdir('/data/tmp/userdir', 0755)
              
              # 删除目录
              # sftp.rmdir('/data/tmp/userdir')
              
              # 文件重命名
              #sftp.rename(remotepath,'/data/tmp/new_file.txt')
              
              # 打印文件信息
              print sftp.stat(remotepath)
              
              # 打印目录信息
              print sftp.listdir('/data/tmp/')
              
              # 关闭连接
              t.close()
              
except Exception, e:
              print str(e)


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值