百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

自动化测试学习:使用python库Paramiko实现远程服务器上传和下载

itomcoil 2025-07-17 19:52 2 浏览

前言

测试过程中经常会遇到需要将本地的文件上传到远程服务器上,或者需要将服务器上的文件拉到本地进行操作,以前安静经常会用到xftp工具。今天安静介绍一种python库Paramiko,可以帮助我们通过代码的方式进行完成对远程服务器的上传和下载操作,也可以进行对远程服务器输入操作命令。

Paramiko

Paramiko属于python的一个第三方库,可以远程连接Linux服务器,进行通过python进行对Linux进行操作,可以实现进行对远程服务器进行下载和上传文件操作。

安装

既然是第三方库,我们可以通过pip进行安装:

pip install paramiko

基本使用

Paramiko库主要包含两个部分:SSHClient和SFTPClient

SSHClient:表示类似于Linux的ssh命令,我们可以通过SSHClient模块对远程服务器执行一些命令操作(Linux)。

SFTPClient:表示类似于SFTP工具,可以实现对远程服务器的文件进行上传和下载。

SSHClient

这里安静通过SSHClient进行对远程服务器上进行连接,并执行Linux命令,首先进行对paramiko下的SSHClient完成实例化,在使用SSHclient下的connet进行连接,后续进行操作一些命令:

import paramiko

# 进行对paramiko方法下的SSHclient进行实例化

ssh = paramiko.SSHClient()

# 保存服务器密钥

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 输入服务器地址,账户名,密码

ssh.connect(hostname='xxxx', port=22,username='root',password='xxxxxx')

# 返回了三个数据,第一个是输入命令,第2个是命令返回的结果,第3个是命令错误时返回的结果

stdin, stdout, stderr = ssh.exec_command('pwd;lll')

# 返回了当前的路径结果,如果错误则返回为空

print(stdout.read().decode('utf-8'))

# 返回错误的执行结果,如果正确则返回为空

print(stderr.read().decode('utf-8'))

通过执行代码操作后,就很清楚地看到我们已经完成了对linux命令的输入,返回了正确的信息和错误的信息。

SFTPClient

sftpclient前面也介绍了主要是类似于xftp的工具,可以帮助我们实现远程文件的上传,下载。其实用方法也是一样的。先进行实例化,然后通过登录到服务器,通过创建sftp工具然后进行完成文件的上传和下载。

上传文件

安静这里先编写一个txt文件,然后将这个文件通过代码的方法传入到服务器上。

这里通过的上传方法是put(服务器路径,本地路径):

import paramiko

# 对paramiko方法下的SSHclient进行实例化

ssh = paramiko.SSHClient()

# 保存服务器密钥

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 输入服务器地址,账户名,密码

ssh.connect(hostname='xxxxx', port=22, username='root',password='xxxxxx')

# 创建sftp客户端

sftp = paramiko.SFTPClient.from_transport(ssh.get_transport())

# 本地路径

aaa = "anjing.txt"

# 远程路径

bbb = "/home/anjing/222/anjing.txt"

sftp.put(aaa, bbb)

通过执行代码后,我们发现服务器上已经存在了刚刚上传的文件。

文件下载

我们通过进行将这个文本内容进行修改,然后将文件传到我们本地文件中通过vi命令进行编辑。

下载这里使用的方法是get(服务器路径,本地路径):

import paramiko

# 对paramiko方法下的SSHclient进行实例化

ssh = paramiko.SSHClient()

# 保存服务器密钥

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 输入服务器地址,账户名,密码

ssh.connect(hostname='xxxxx', port=22, username='root',password='xxxxxx')

# 创建sftp客户端

sftp = paramiko.SFTPClient.from_transport(ssh.get_transport())

# 远程路径

bbb = "/home/anjing/2

# 下载文件

sftp.get(bbb, r'E:\web\anjing_01.txt')

通过执行代码后发现我们已经成功地将服务器上修改过的文件下载到了本地并修改了名称。

总结

安静通过小小的例子简单地介绍了paramiko如何对文件上传下载和执行linux的命令操作。对于我们测试来言,无论是日常测试中,还是在编写自动化中,又遇到需要服务器操作的时候,都可以尝试下,一来可以在领导面前稳稳的装一波,二来也可以增加我们对python知识的提高。好了,感谢您的阅读,希望能对您有所帮助。

最后:

1)关注+私信回复:“测试”,可以免费领取一份10G软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Mysql数据库、抓包工具、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试等。

2)关注+私信回复:"入群" 就可以邀请你进入软件测试群学习交流~~

相关推荐

python unittest 基本用法(python pytest)

unittest的使用分为6个步骤:1.导入unittest模块2.定义测试类,父类为unittest.TestCase可继承unittest.TestCase的方法,如setUp和tearDown方...

python中如何利用递归原理找出文件夹中的全部文件

在python中要想查看文件夹中的文件,需要先导入os模块,在python中导入os模块后,定义一个空的列表,用来接收返回的文件,importoslist1=[]接下来,我们定义一个函数,这个函...

Python读取配置文件(config.ini),写入配置文件

一、读取配置文件我的目录如下,在config下有一个config.ini配置文件配置文件内容#定义config分组[config]platformName=AndroidappPackage...

python 文件操作(python文件操作添加下一行)

在Python中,可以使用内置的文件操作函数和方法来进行文件的读取、写入和操作。下面是一些常见的文件操作方法:打开文件:使用open()函数来打开一个文件,并返回一个文件对象。你需要指定文件的路径和打...

失业程序员复习python笔记——excel读写处理

Excel是我们在工作中用到的最频繁的软件之一,它有着强大的计算能力和便捷的图表功能。今天记录一下怎么用python操作excel文件安装excel扩展库如果要用Python操作Excel文...

Python的文件处理(python文件处理方法)

一、文件处理的流程1.打开文件,得到文件句柄并赋值给一个变量2.通过句柄对文件进行操作3.关闭文件示例:d=open('abc')data1=d.read()pri...

Python读写docx文件(python如何读写文件)

Python读写docx文件Python读写word文档有现成的库可以处理pipinstallpython-docx安装一下。https://python-docx.readthedocs.io/...

(简单入门易懂)实例详解:Python csv文件的读写操作

今天为大家带来的内容是:简单入门易懂的是咧详解:Pythoncsv文件的读写操作本文内容主要介绍了Pythoncsv文件的读写操作实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有...

Python3查看文件是否存在,以及读、写与执行的属性

目录技术背景代码实现测试分析总结概要版权声明技术背景在使用python对系统文件进行操作的项目中,经常需要用到对本地文件的存在和读写进行判断的操作。最常用的比如os.exists函数,可以很方便的判断...

Python常用文件操作库使用详解(python中文件操作的例子)

Python生态系统提供了丰富的文件操作库,可以处理各种复杂的文件操作需求。本教程将介绍Python中最常用的文件操作库及其实际应用。一、标准库核心模块1.1os模块-操作系统接口主要功能:文件...

python入门 输入与输出——读和写文件

以下是Python文件读写的入门指南,包含基础操作、安全写法及实用技巧:一、文件操作基础步骤打开文件→读写操作→关闭文件(务必确保最后关闭文件,避免资源泄露)二、文件读取1.基本读取#方法...

第41讲 基本文件操作(和猫妹学Python)

小朋友们好,大朋友们好!我们今天基本文件操作,要学习的内容如下:什么是文件,什么是目录创建和打开文件关闭文件with语句打开文件写入文件内容读取文件什么是文件,什么是目录文件是计算机存储信息的一种形式...

Python自动化办公自学笔记(八)文件操作

一、文件使用在Python里面,文件分为两种类型,一种是文本文件,后缀名为“.txt”,由单一特定编码的字符组成;另一种是二进制文件,由比特0和比特1组成。Python对以上两种文件都有统一的操作步骤...

python 利用python读取DOC文件(python读取word数据)

近期公司需要处理一批DOC文件,而在windows系统中,python没有模块能直接读取doc文件。需要先把doc文件批量转成docx文件,再读取操作。linux系统python有模块可直接读取doc...

Python学不会来打我(83)python读写文件操作总结

python读写文件操作其实是一个很复杂的过程,在python代码中给的内建函数open()、read()、write()等操作起来非常简单,但是这些方法的底层却是很复杂的,这里面涉及到一些操作系统的...