前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Python中的命令行参数

Python中的命令行参数

原创
作者头像
Java学术趴
发布于 2022-07-25 12:25:02
发布于 2022-07-25 12:25:02
1.6K00
代码可运行
举报
文章被收录于专栏:Java全栈·Java全栈·
运行总次数:0
代码可运行

1.1 sys模块

在使用python开发脚本的时候,作为一个运维工具,或者是其他工具需要在接受用户参数运行时,这里就可以用到命令行传参的方式,可以给使用者一个比较友好的交互体验。

python可以使用 sys 模块中的 sys.argv 命令来获取命令行参数,其中返回的参数是一个列表

在实际开发中,我们一般都使用命令行来执行 python 脚本

使用终端执行python文件的命令:python 指定文件名

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import sys
​
# 使用 sys.argv 来获取命令行参数
# 在终端使用 python 指定python文件名 来执行python文件
print('命令行参数的个数%s' % len(sys.argv))
# 命令行参数的个数1print('命令行参数%s' % sys.argv)
# 命令行参数['index.py']
# 因为此时只有一个参数,那么就是这个python文件
​
# 终端执行的命令为:python index.py

argv返回命令行参数的一个列表,其中第一个元素是 py的文件名。如果不想获取到文件名,那么完全可是使用切片的方式,因为命令行返回的结果是一个列表,完全可以使用切片的方式。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import sys
​
# 使用切片的方式去除文件名
print('命令行参数%s' % sys.argv[1:])
# 命令行参数['1', '2', '3', '4', '5']
​
# 终端执行的命令为:python index.py 1 2 3 4 5
# 在终端一次输入多个参数的时候,中间不需要使用逗号隔开

sys.argv 只提供了比较简单的命令行参数获取方式,并没有提供命令行提示。无法做到像liunx命令行一样,可以给使用者提供help帮助。

1.2 argparse模块

概念: argparse模块可以轻松的编写用户友好的命行界面。该程序定义了他需要的参数,argparse并将找出如何解析这些参数 sys.argv。该argparse模块还会自动生成帮助和用法消息,并在用户给出的程序无效参数时发生异常。

Python中的正则表达式

2.1 正则表达式简介

  • 正则表达式(Regular Exception),又称规则表达式。正则表达式通常用来检索、替换那些符合某个模式(规则)的文本。
  • 不论是何种语言,都离不开正则表达式,大多数软件都会使用到正则表达式。
  • 在 python 中使用正则表达式只需要引入一个 Re模块。注意:先有的正则表达式,后有的 Re 模块。

2.2 Re模块

我们使用re模块来掌握正则表达式的常用匹配规则

2.2.1 re.match方法
  • re.match尝试从字符串的起始位置匹配一个规则,匹配成功就返回match对象,否则返回None。可以使用group()获取匹配成功的字符串。
  • 语法: re.match(pattern,string,flag=0)
  • 参数说明:
    • pattern : 匹配的正则表达式
    • string : 要匹配的字符串
    • flags : 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。
  • 注意:这个模块是从起始位置进行匹配的,否则会报错。

以下示例是没有标志位的调用 match 函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 测试 re 模块中关于正则表达式的方法
import re
saying: str = 'life is short, i use Python'
# 使用 re.match 方法获取匹配成功的字符串
res1 = re.match('L', saying)
# res1等于None,match只能匹配以 xxx 开头的子字符串,因为saying是以小写字母l开头的
# 所以匹配失败。
​
res2 = re.match('l', saying)
print(res2.group())
# l,匹配成功
​
res3 = re.match('li', saying)
print(res3.group())
# li

flags可选的标志位

  • 如果同时存在多个标志位使用 | 分隔,比如re.L | re.M
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 测试 re 模块中关于正则表达式的方法
import re
saying: str = 'life is short, i use Python'
# 使用 re.match 方法获取匹配成功的字符串,给定标志位(忽略大小写)
res = re.match('L', saying, re.I)
print(res.group())
# l

3.2 常用的匹配规则

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C站最全Python库总结丨标准库+高级库
上一篇,《C站最全Python标准库总结》,登顶了【全站综合热榜】和【python领域热榜】,获得了2362多次点赞、998次评论、2072次收藏,谢谢各位小伙伴。
不吃西红柿
2022/09/19
6080
C站最全Python库总结丨标准库+高级库
Python3 命令行参数解析
在模型训练程序中,我们经常要配置命令参数,这里可用到 argparse 模块,它是 Python 内置的一个用于命令选项与参数解析的模块,通过在程序中定义好我们需要的参数,argparse 将会从 sys.argv 中解析出这些参数,并自动生成帮助和使用信息。 使用 argparse 模块解析命令行参数,主要分三个步骤:创建解析器、添加参数、解析参数,步骤如下:
嵌入式视觉
2022/09/05
1.3K0
python3–复习+正则
一、复习 文件的操作 import codecs with codecs.open("aaa.txt", "w") as f: f.writelines("this\nis\na\ntest\nfile!!") 高阶函数:sorted dict1 = dict(a=1, b=2) print(sorted(dict1.items(), key=lambda d:d[1])) 输出://以列表的方式输出 [('a', 1), ('b', 2)] 如果需要以字典形式的方式输出,则
老七Linux
2018/05/09
1K0
最全总结 | 聊聊 Python 命令行参数化的几种方式!
在日常编写 Python 脚本的过程中,我们经常需要结合命令行参数传入一些变量参数,使项目使用更加的灵活方便
AirPython
2022/09/28
2.4K0
Python中re模块总结
正则表达式可以包含一些可选标志修饰符来控制匹配的模式。修饰符被指定为一个可选的标志。多个标志可以通过按位 OR(|) 它们来指定。如 re.I | re.M 被设置成 I 和 M 标志:
北山啦
2022/11/27
5350
Python中re模块总结
熬夜到虚脱整理出来的Python的正则表达式总结
1.正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。
sergiojune
2021/07/19
7930
熬夜到虚脱整理出来的Python的正则表达式总结
Python的命令行参数解析
命令行参数解析在编程语言中基本都会碰到,Python中内置了一个用于命令项选项与参数解析的模块argparse。下面主要介绍两种解析Python命令行参数的方式。 1. sys.argv 解析Pyth
Tyan
2017/12/28
1.7K0
Python 命令行参数的3种传入方式
一般我们在运行 Python 项目或者脚本的时候都是直接执行启动脚本即可,但是 Python 作为一个脚本语言,在 Linux 中经常会跟 Shell 脚本结合使用,这个时候执行的 Python 脚本多半都需要使用命令行参数传入一些变量,下面就分享一下我在工作中常见和自己会使用的3种命令行参数传入方式。
Hopetree
2022/09/26
1K0
Python 命令行参数
getopt模块是专门处理命令行参数的模块,用于获取命令行选项和参数,也就是sys.argv。
小小工匠
2021/08/16
9050
python中re time os sy
re模块 正则表达式 这里写反斜杠也是转义的意思,python在re模块中使用都需要加反斜杠 \d 是匹配一个数字 \+ 大于等于1 \w 匹配数字字母下划线和中横杠 \* 匹配0个或多个 \t 指标符 . 除了回车意外的的所有 * 大于等于0 + 大于等于1 ? 0或1 {m},{m,n} 出现m次,出现m到n次,包括mn re匹字符串 re.match() re.match(pattern, string, flags) 默认有3个参数,是最后一个我们不是很关注他,就默认。 通过你前面
py3study
2020/01/14
7170
Python | 使用argparse解析命令行参数
今天是Python专题第27篇文章,我们来聊聊Python当中的命令行参数工具argparse。
TechFlow-承志
2020/08/17
2K0
【Python】基础:标准库常用模块示例
Python标准库是Python编程语言的内置模块集合,它提供了广泛的功能和工具,用于开发各种类型的应用程序。下面是一些常用的Python标准库以及它们的简要介绍:
DevFrank
2024/07/24
1610
Python解析命令行读取参数 — argparse模块
在多个文件或者不同语言协同的项目中,python脚本经常需要从命令行直接读取参数。万能的python就自带了argprase包使得这一工作变得简单而规范。PS:optparse包是类似的功能,只不过写起来更麻烦一些。
全栈程序员站长
2022/07/19
7880
Python 中的正则表达式全部用法速查
正则表达式可以拼接,如果A和B都是正则表达式,那么 AB也是正则表达式.如果字符串p匹配A并且另一个字符串q匹配B, 那么pq可以匹配 AB.这就构成了由简单构建复杂的基础.除非:
用户7886150
2020/12/23
1.2K0
【Python基础】正则表达式
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配,Python主要通过re模块使用正则表达式.
superhua
2022/01/29
3000
【Python基础】正则表达式
一文搞定Python中的正则表达式
正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
皮大大
2020/11/03
8510
一文搞定Python中的正则表达式
网络工程师学Python-20-正则表达式
正则表达式是一种用于匹配字符串的模式,它可以用来检查字符串是否符合某个模式,并可以从字符串中提取出特定的内容。在Python中,使用内置的re模块可以轻松地处理正则表达式。
网络技术联盟站
2023/04/21
3750
网络工程师学Python-20-正则表达式
一文搞懂 Python 正则表达式用法
作者:枫叶云 来源:见文末 Python 正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。 Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。 re 模块使 Python 语言拥有全部的正则表达式功能。 compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。 re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。
小小科
2018/06/20
1.1K0
python学习笔记
记录学习python中的简短笔记。 正则模块 它提供 Perl 风格的正则表达式模式。 # 导入正则模块 import re # 正则处理 re.match(r'^\s*//#if ', each) 获取列表长度 list = [1, 2, 3] length = len(list) 判断变量是否在列表 list = [1, 2, 3] if 1 in list: print('true') else: print('false') 遍历列表 (1)常规遍历 list = [1, 2, 3]
Qt君
2019/11/09
3940
Python 正则表达式:search
简单匹配 = re.search(正则表达式,要匹配的字符串): 从字符串开头 开始匹配
py3study
2020/01/14
1.1K0
相关推荐
C站最全Python库总结丨标准库+高级库
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文