python连接linux系统处理文件

简介: 使用paramiko库处理
#coding:utf-8importparamikoimportosfromcommon.yaml_info.configure_yamlimport*config_data=get_yaml(file_name="config.yaml")
ip=config_data["ip"]
port=config_data["port_ssh"]
username=config_data["username"]
password=config_data["password"]
classFileUtil:
@staticmethoddefupload_file(local_path, remote_path):
"""        上传文件到远程目录中        :param local_path:本地文件目录        :param remote_path:远程文件目录        :return:        """transport=paramiko.Transport((ip, port))
try:
transport.connect(username=username, password=password)
sftp_client=paramiko.SFTPClient.from_transport(transport)
sftp_client.put(local_path, remote_path)
sftp_client.close()
transport.close()
returnTrueexcept:
transport.close()
print("ssh连接失败")
returnFalse@staticmethoddefwrite_file(content, remote_path):
"""        向远程文件内写入内容,该方法为替换        :param content: 文件的字符串行        :param remote_path: 远程文件目录        :return:        """transport=paramiko.Transport((ip, port))
try:
transport.connect(username=username, password=password)
sftp_client=paramiko.SFTPClient.from_transport(transport)
fo=sftp_client.open(filename=remote_path, mode='w')
fo.writelines(content)
fo.flush()
sftp_client.close()
transport.close()
returnTrueexcept:
transport.close()
print("ssh连接失败")
returnFalse@staticmethoddefbatch_upload_files(local_path, remote_path):
"""        批量上传文件到远程目录中        :param local_path:本地文件目录        :param remote_path:远程文件目录        :return:        """transport=paramiko.Transport((ip, port))
try:
file_list= []
transport.connect(username=username, password=password)
sftp_client=paramiko.SFTPClient.from_transport(transport)
files=os.listdir(local_path)
files.remove("__init__.py")
print(files)
forfinfiles:
# if f == "__init__.py":#     continuesftp_client.put(os.path.join(local_path, f), os.path.join(remote_path, f))
file_list.append(f.split('.')[0])
sftp_client.close()
transport.close()
returnfile_listexcept:
transport.close()
print("ssh连接失败")
returnFalse
目录
相关文章
|
2天前
|
机器学习/深度学习 传感器 存储
使用 Python 实现智能地震预警系统
使用 Python 实现智能地震预警系统
87 61
|
2天前
|
JSON JavaScript Linux
Linux系统之安装cook菜谱工具
【10月更文挑战第15天】Linux系统之安装cook菜谱工具
11 2
Linux系统之安装cook菜谱工具
|
4天前
|
Ubuntu Linux 测试技术
Linux系统之Ubuntu安装cockpit管理工具
【10月更文挑战第13天】Linux系统之Ubuntu安装cockpit管理工具
25 4
Linux系统之Ubuntu安装cockpit管理工具
|
3天前
|
安全 Linux
Linux系统之lsof命令的基本使用
【10月更文挑战第14天】Linux系统之lsof命令的基本使用
24 2
Linux系统之lsof命令的基本使用
|
4天前
|
安全 Linux 数据安全/隐私保护
python知识点100篇系列(15)-加密python源代码为pyd文件
【10月更文挑战第5天】为了保护Python源码不被查看,可将其编译成二进制文件(Windows下为.pyd,Linux下为.so)。以Python3.8为例,通过Cython工具,先写好Python代码并加入`# cython: language_level=3`指令,安装easycython库后,使用`easycython *.py`命令编译源文件,最终生成.pyd文件供直接导入使用。
python知识点100篇系列(15)-加密python源代码为pyd文件
|
4天前
|
Linux
Linux 系统五种帮助命令的使用
Linux 系统五种帮助命令的使用
30 14
|
1天前
|
运维 网络协议 Linux
linux系统命令 losf详解
**lsof命令**(List Open Files)是Linux系统中一个非常实用的工具,用于列出当前系统上所有打开的文件以及与之关联的进程。以下是对lsof命令的详细介绍: ### 一、基本功能 lsof命令可以显示系统中被进程打开的文件,这些文件可以是普通文件、目录、网络套接字、设备文件等。通过lsof命令,用户可以方便地查看哪些文件被哪些进程打开,以及这些文件的状态信息。 ### 二、基本语法 lsof命令的基本语法为:`lsof [选项] [文件]`。其中,选项用于指定lsof命令的行为,文件则是可选的,用于指定要查询的文件。 ### 三、常用选项 * `-a` 或 `-
|
1天前
|
Linux Shell
Linux系统
是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
|
1天前
|
安全 Unix Linux
Linux系统之使用cmatrix实现数字雨效果
【10月更文挑战第16天】Linux系统之使用cmatrix实现数字雨效果
8 0
Linux系统之使用cmatrix实现数字雨效果
|
2天前
|
Java Python
> python知识点100篇系列(19)-使用python下载文件的几种方式
【10月更文挑战第7天】本文介绍了使用Python下载文件的五种方法,包括使用requests、wget、线程池、urllib3和asyncio模块。每种方法适用于不同的场景,如单文件下载、多文件并发下载等,提供了丰富的选择。