IC 脚本之python

OS 模块

        os模块就是python对操作系统操作接口的封装。os模块提供了多数操作系统的功能接口函数,主要用于一些日志文件的保存以及解析。

1. os.path.absppath(path) 用于获取当前文件位置绝对路径; os.path.realpath(path) 用于返回文件位置的相对路径。2. os.path.split(path) 将指定文件的路径分解为(文件夹路径, 文件名),返回的数据类型是元组类型。3.  os.path.join(path1, path2, ...) :将入参的path进行组合,若其中有绝对路径,则之前的path将被删除4.  os.path.exists(path) :判断文件或者文件夹是否存在,返回True 或 False。【文件或文件夹的名字不区分大小写】5.  os.path.isfile('路径') :判断入参路径是否为文件,返回值为布尔值;是文件返回True,不是文件返回False6.  os.listdir(path) :列举path目录下的所有文件。返回的是列表类型。7.  os.system("cmd") : 执行cmd 所表达的指令。遍历目录的函数
os.walk(path,topdown=True, oneerror=None)
它返回值是一个generator,每次遍历的队形都是返回的一个三元组(root,dirs,files), root
是当前遍历的目录路径,dirs代表root路径下的所有子目录list,files表示root路径下所有文件list。

RE正则表达式

        re模块主要功能是通过正则表达式来匹配处理字符串的, re跟vim正则匹配知识点类似,只不过元字符以及次数控制符不在需要 ”\"来进行控制。

1 compile 函数pattern=re.compile(r"\d+")2 match 函数从头匹配一个符合正则控制的字符串, 从起始位置开始匹配,匹配成功则返回一个对象。str=“Hello world"r =re.match(r"Hello",str)   匹配成功str=“   Hello world"r =re.match(r"Hello",str)   匹配失败3 search 函数 *******它比re.match更灵活,可在任意位置匹配设置的正则模式,会将第一个匹配的对象作为结果。date="2023year10month12day"r=re.search(r"(\d+)\D*(\d+)\D*(\d+)\D*",date)最后可以通过r.group(1) re.group(2) re.group(3) 访问第1,2,3个匹配对象,re.groups()获取的是一个由匹配对象组成的元组。4. findall函数它会对整个字符串进行扫描,将所有匹配的对象全部记录到groups()usage: re.findall(pattern ,str)5. split 函数 *根据正则pattern 作为分隔符来分割字符串。date="2023year10month12day"r=re.split(r"\d+",date)print(r)  # 返回值是个数组6. sub函数替换字符串中的一些正则匹配项date="2023year10month12day"r=re.sub(r'\d+','**',date) 此时便将date中的数字替换成 ** 

excel 文件访问

openpyxl是另一个强大的库,专门用于读写.xlsx文件。

from openpyxl import load_workbook
# 加载Excel文件
wb = load_workbook('example.xlsx')
# 选择工作表
sheet = wb.active
# 读取特定单元格的数据
cell_value = sheet['A1'].value
print(cell_value)

 对于较旧版本的.xls文件,xlrd和xlwt库提供了读取和写入的功能。虽然它们不支持.xlsx格式的文件,但对于需要处理遗留数据的情况非常有用

import xlrd
# 打开文件
workbook = xlrd.open_workbook('example.xls')
# 选择工作表
sheet = workbook.sheet_by_index(0)
# 读取特定单元格的内容
cell_value = sheet.cell_value(0, 0)
print(cell_value)

在linux 通常使用library Offic来访问.xls,.xlsx, 有时候需要将它们转换为.csv文件,这时可以通过library office自带的命令将其转为特定格式的文件。

libreoffice --headless --convert-to target_type --outdir  directory source_excel
target_type:需要转化文件的目的类型,比如csv
directory:  转换后的文件存放目录;
source_excel:需要转换的exce文件  

基础用法

字符串格式化: 
1. "apple is %s"%("delicious")
2.  format 格式化 a="delicious""apple is {:^10s} " .format(a)  或者 f"apple is {a:}"格式化参数:[[fill]align][sign]["#"]["0"][width][grouping_option]["."precision][type]align:对齐方式(<左对齐,>右对齐,=填充后等于符号指定的宽度,^居中对齐)。***sign:符号选项(+表示正数带加号,-表示负数带减号,空格表示正数前留空格)。#:用于显示二进制、八进制、十六进制的前缀,以及浮点数的小数点和小数部分(如果适用)。***0:用于指定宽度内的前导零。width:字段的最小宽度。 ***grouping_option:千位分隔符的选项(_或,)。precision:对于浮点数和字符串,表示小数点后的位数或字符串的最大长度。type:转换类型(如b表示二进制,d表示十进制,o表示八进制,x表示十六进制,f表示浮点数等)。{:0<10.2fd}它的含义是将变量格式化为左对齐的8位整数两位小数的十进制数,当长度不够使用0填充。字符串函数
str.replace(oldval, newval, count) 将字符串中的oldval用newval替换,最大可以替换为count次。
str.split(sep,str) 使用sep分隔符对str进行分割,与正则分割相比它的功能简单得多。
text = "Hello"
aligned_text = text.ljust(10, '-')   # 输出: Hello-----
aligned_text = text.rjust(10, '-')   # 输出: -----Hello
aligned_text = text.center(10, '-')  # 输出: ---Hello---

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/60423.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

qt QGraphicsProxyWidget详解

1. 概述 QGraphicsProxyWidget 类是 Qt 图形视图框架中的一个关键类&#xff0c;它允许 QWidget 组件被嵌入到 QGraphicsScene 中。QGraphicsProxyWidget 作为一个代理&#xff0c;它在 QGraphicsScene 和 QWidget 之间建立了桥梁&#xff0c;使得 QWidget 可以在 QGraphicsVi…

【数据集】GPM IMERG Daily Precipitation Dataset

目录 数据集概述时空分辨率:数据下载参考数据集概述 Global Precipitation Measurement (GPM) IMERG Daily Precipitation Dataset 简介 Global Precipitation Measurement (GPM) 是由美国国家航空航天局(NASA)和日本宇宙航空研究开发机构(JAXA)联合发起的一项全球降水观…

MySQL 迁移 dm

参考链接 此处为语雀内容卡片&#xff0c;点击链接查看&#xff1a;MySQL 5.7.27 迁移 DM 8 语雀 迁移前准备 以下中的命名&#xff0c;密码都是可修改的&#xff0c;这里给出的就只是一个例子 创建表空间 # 创建表空间名为 dbTest&#xff0c;路径为 Z:\fei\data\dm\dbT…

新版IJidea 如何打开数据库窗口(2024.2.4 版)(连接数据库)

新版IJidea 2024.2.4 如何打开数据库窗口&#xff1f; 方式&#xff1a;使用插件&#xff0c;Database Navigator 1.安装插件&#xff0c;步骤如下&#xff1a; 打开 Settings/Preferences 对话框&#xff08;快捷键 CtrlAltS&#xff09;。前往 Plugins 菜单项。在搜索框中…

MySQL:left join后用on与where的区别

一、前言 前几天项目中&#xff0c;写SQL时本想通过 A left B join on and 后面的条件来使查出的两条记录变成一条&#xff0c;奈何发现还是有两条。在此记录一下&#xff0c;on与where的区别。 二、ON 原始数据展示 SELECT t1.*,t2.* FROM t_test_staff t1 left join t_te…

Spark 核心概念与宽窄依赖的详细解析

Spark 的介绍与搭建&#xff1a;从理论到实践_spark环境搭建-CSDN博客 Spark 的Standalone集群环境安装与测试-CSDN博客 PySpark 本地开发环境搭建与实践-CSDN博客 Spark 程序开发与提交&#xff1a;本地与集群模式全解析-CSDN博客 Spark on YARN&#xff1a;Spark集群模式…

【树莓派raspberrypi烧录Ubuntu远程桌面登入树莓派】

提示&#xff1a;本文利用的是Ubuntu主机和树莓派4B开发板&#xff0c;示例仅供参考 文章目录 一、树莓派系统安装下载前准备工作下载安装树莓派的官方烧录软件imagerimager的使用方法 二、主机与树莓SSH连接查看数梅派IP地址建立ssh连接更新树莓派源地址 三、主机端远程桌面配…

MySQL数据库专栏(四)MySQL数据库链接操作C#篇

摘要 本篇文章主要介绍C#链接MySQL数据库的接口介绍&#xff0c;使用实例及注意事项&#xff0c;辅助类的封装及调用实例&#xff0c;可以直接移植到项目里面使用。 目录 1、添加引用 2、接口介绍 2.1、MySqlConnection 2.2、MySqlCommand 2.3、MySqlDataReader…

百度世界2024:AI应用的浪潮时刻

百度AI公式&#xff1a;“技术商业社会”。 作者|金豫 编辑|杨舟 互联网行业正迈入增长瓶颈期&#xff0c;这一点从主要科技巨头&#xff0c;如Meta、Alphabet、腾讯等近年来的表现中可见端倪&#xff1a;广告收入增速放缓&#xff0c;市场渗透率接近饱和。 单纯依赖流量获取…

Linux 通过nmcli配置网络并配置bond(网卡绑定)

Linux 通过nmcli配置网络并配置bond Linux 通过nmcli配置网络并配置bond1. 什么是 Bond 网卡绑定2. Bond 网卡绑定的常见模式3. 通过nmcli配置网络并做网卡绑定 Linux 通过nmcli配置网络并配置bond 1. 什么是 Bond 网卡绑定 Bond 网卡绑定&#xff08;或 NIC Bonding&#xff…

【Stable Diffusion - Ai】小白入门必看(想控制AI的绘画结果?ControlNet 预处理篇)!真材实料!不卖课!!!

【Stable Diffusion - Ai】小白入门必看&#xff08;想控制AI的绘画结果&#xff1f;ControlNet 预处理篇&#xff09;&#xff01;真材实料&#xff01;不卖课&#xff01;&#xff01;&#xff01; 对于ControlNet来说&#xff0c;很多人都会感觉到陌生&#xff1b;这个插件…

几何合理的分片段感知的3D分子生成 FragGen - 评测

FragGen 来源于 2024 年 3 月 25 日 预印本的文章&#xff0c;文章题目是 Deep Geometry Handling and Fragment-wise Molecular 3D Graph Generation&#xff0c; 作者是 Odin Zhang&#xff0c;侯廷军&#xff0c;浙江大学药学院。FragGen 是一个基于分子片段的 3D 分子生成模…

【设计模式系列】享元模式(十五)

目录 一、什么是享元模式 二、享元模式的角色 三、享元模式的典型应用场景 四、享元模式在ThreadPoolExecutor中的应用 1. 享元对象&#xff08;Flyweight&#xff09;- 工作线程&#xff08;Worker&#xff09; 2. 享元工厂&#xff08;Flyweight Factory&#xff09;- …

为什么分布式光伏规模是6MW为界点

安科瑞 华楠 近日&#xff0c;能源局发布定义分布式光伏6MW及以上的光伏电站必须自发自用&#xff0c;自行消纳。多省能源局规定大于6MW的电站必须按集中式管理&#xff0c;另外大于6MW&#xff08;包含&#xff09;要省级审批&#xff0c;小于则由市级审批&#xff0c;10kV线…

RDD 算子全面解析:从基础到进阶与面试要点

Spark 的介绍与搭建&#xff1a;从理论到实践_spark环境搭建-CSDN博客 Spark 的Standalone集群环境安装与测试-CSDN博客 PySpark 本地开发环境搭建与实践-CSDN博客 Spark 程序开发与提交&#xff1a;本地与集群模式全解析-CSDN博客 Spark on YARN&#xff1a;Spark集群模式…

四万字长文SpringBoot、Spring、SpringMVC等相关面试题(注:该篇博客将会持续维护 最新维护时间:2024年11月12日)

&#x1f9f8;本篇博客重在讲解SpringBoot、Spring、SpringMVC等相关面试题&#xff0c;将会实时更新&#xff0c;欢迎大家添加作者文末联系方式交流 &#x1f4dc;JAVA面试题专栏&#xff1a;JAVA崭新面试题——2024版_dream_ready的博客-CSDN博客 &#x1f4dc;作者首页&…

02_ElementUI

一.前端工程化 1.1 概述 前端工程化是使用软件工程的方法来单独解决前端的开发流程 中模块化、组件化、规范化、自动化的问题,其主要目的为了 提高效率和降低成本。 1.2 NodeJS的安装 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环 境&#xff0c;可以使 JavaS…

三、运算符、数据类型转换(显式、隐式)、语句(if、三元、switch、while、for)

1. 运算符 1.1 自增自减 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> &…

数据安全、信息安全、网络安全区别与联系

关键字&#xff1a; 信息安全 数据安全 网络安全 [导读] 在 “互联网 ” 被广泛提及的今天&#xff0c;安全问题也越来越多的受到人们关注&#xff0c;然而很多人对于 “信息安全”、“数据安全”、“网络安全” 的概念并不是很清楚。我们汇总了官方机构给这三者的定义&#…

基于单片机的多功能视力保护器设计(论文+源码)

1. 功能设计 本次课题为多功能视力保护器&#xff0c;具体设计功能如下&#xff1a; (1)当使用者的眼睛距离写字台低于25cm时&#xff0c;报警灯闪烁以提醒使用者及时调整坐姿。 (2)学习环境光线自动检测&#xff1a;当光照强度低于1001X时&#xff0c;语音提醒使用者调整光…