从0到1—POC编写基础篇(三)

本文介绍了Python中的sys模块用于与解释器交互,os模块处理文件系统操作,argparse模块解析命令行参数,以及rich库在CLI中的应用,展示了如何创建彩色文本输出和美化命令行界面。
摘要由CSDN通过智能技术生成

接着上一篇

sys 模块


sys 是 Python 标准库中的一个模块,提供了与 Python 解释器和运行时环境交互的功能。通过导入 sys 模块,你可以访问一些与系统相关的变量和函数。下面是 sys 模块中是写POC常用的功能:
1、sys.argv:这是一个包含命令行参数的列表。当你在命令行中执行一个 Python 脚本时,sys.argv 可以让你获取传递给脚本的参数。

import sys
print (sys.argv[0]) #当前程序名
print (sys.argv[1]) #第一个参数
print (sys.argv[2]) #第二个参数
print (sys.argv[3]) #第三个参数
a = len(sys.argv)-1 #参数个数
print (f'参数个数:{a}')
import sys

if len(sys.argv) > 1:
    # 第一个参数是脚本本身的文件名
    # 之后的参数是传递给脚本的参数
    for arg in sys.argv[1:]:
        print(arg)

sys.exit([arg]):用于退出 Python 解释器。可选的参数 arg 用于指定退出状态码,默认为 0(表示成功)。

import sys

sys.exit(1) # 以状态码 1 退出

os 模块

Python 的 os 模块提供了一些函数,用于与操作系统进行交互。这个模块包含了很多实用的函数,用于管理文件和目录、获取系统信息、运行命令等。下面是 os 模块中一些常用的函数

os.getcwd():获取当前工作目录。

os.chdir(path):改变当前工作目录。

os.listdir(path):列出指定目录中的文件和子目录。

os.mkdir(path):创建一个目录。

os.makedirs(path):递归地创建目录。

os.rmdir(path):删除一个目录。

os.removedirs(path):递归地删除目录。

os.rename(src, dst):将文件或目录从 src 改名为 dst。

os.remove(path):删除一个文件。

os.path.exists(path):判断路径是否存在。

os.path.abspath(path):获取绝对路径。

os.path.basename(path):获取路径的最后一部分(文件名或目录名)。

os.path.dirname(path):获取路径的目录部分。

os.path.join(path1, path2, ...):将多个路径组合成一个路径。

这些函数可以让我们在 Python 中方便地进行文件和目录的操作,同时也能够获取系统信息,运行命令等

Argparse 模块

argparse是Python标准库中用于解析命令行参数的模块。它可以帮助您定义命令行接口,并解析用户提供的参数。
详细使用手册:argparse 教程 — Python 3.12.3 文档
要使用argparse模块,需要按照以下步骤进行操作:
1. 导入argparse模块:
import argparse
2. 创建一个解析器对象:
parser = argparse.ArgumentParser(description='批量IP去重工具')
在这里,description参数用于提供关于脚本功能的描述。
3. 添加命令行参数:
parser.add_argument('input_file', type=str, help='输入文件名')
parser.add_argument('output_file', type=str, help='输出文件名')
在这里,add_argument方法用于添加命令行参数。每个参数都有一个名称和一个类型。在这个例子中,input_file和output_file都是字符串类型,并且都有一个帮助文本来描述它们的作用。
4. 解析命令行参数:
args = parser.parse_args()
parse_args()方法用于解析命令行参数,并将它们存储在args对象中。在这个例子中,args.input_file和args.output_file将分别保存输入文件名和输出文件名。
通过以上步骤,您就可以使用argparse模块来解析命令行参数了。
add_argument方法是argparse模块中的一个重要方法,用于向解析器对象添加命令行参数。
该方法的语法如下:
parser.add_argument(name or flags, ..., action=None, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)
下面是对add_argument方法中一些常用参数的解释:
- name or flags:参数的名称或者命令行选项的列表。例如,input_file表示参数的名称,-i或--input表示命令行选项。
- action:参数的动作。默认值为None,表示参数的值将被存储。其他常用的动作包括store_true(如果命令行选项存在,则将参数的值设置为True)和store_false(如果命令行选项存在,则将参数的值设置为False)。
- nargs:参数的数量。默认值为None,表示参数只接受一个值。其他常用的值包括'+'(表示参数接受一个或多个值)和'*'(表示参数接受零个或多个值)。
- const:常量值。默认值为None,表示没有常量值。
- default:参数的默认值。默认值为None。
- type:参数的类型。默认值为None,表示参数的值将被解析为字符串。其他常用的类型包括int(整数)、float(浮点数)和bool(布尔值)。
- choices:参数的可选值列表。默认值为None,表示没有限制。
- required:参数是否是必需的。默认值为False,表示参数是可选的。
- help:参数的帮助文本。默认值为None,表示没有帮助文本。
- metavar:参数的显示名称。默认值为None,表示使用参数的名称作为显示名称。
通过使用add_argument方法,您可以根据需要定义各种类型的命令行参数,并指定它们的动作、数量、默认值、类型、可选值等属性。

使用例子
下面是一些使用add_argument方法的例子:
例子 1:基本用法
parser.add_argument('input_file', type=str, help='输入文件名')
parser.add_argument('output_file', type=str, help='输出文件名')
在这个例子中,我们添加了两个命令行参数:input_file和output_file。这两个参数都是字符串类型,并且都有一个帮助文本来描述它们的作用。
例子 2:使用命令行选项
parser.add_argument('-i', '--input', type=str, help='输入文件名')
parser.add_argument('-o', '--output', type=str, help='输出文件名')
在这个例子中,我们使用了命令行选项来定义参数。-i和--input表示输入文件名,-o和--output表示输出文件名。
例子 3:指定参数的默认值
parser.add_argument('--input', type=str, default='input.txt', help='输入文件名')
parser.add_argument('--output', type=str, default='output.txt', help='输出文件名')
在这个例子中,我们为参数指定了默认值。如果用户没有提供参数的值,将使用默认值。
例子 4:指定参数的类型
parser.add_argument('--count', type=int, help='重试次数')
parser.add_argument('--threshold', type=float, help='阈值')
parser.add_argument('--verbose', type=bool, help='是否显示详细信息')
在这个例子中,我们指定了参数的类型。--count是整数类型,--threshold是浮点数类型,--verbose是布尔类型。
例子 5:指定参数的可选值
parser.add_argument('--mode', type=str, choices=['A', 'B', 'C'], help='模式')
在这个例子中,我们指定了参数的可选值。用户只能选择A、B或C作为参数的值。
这些例子展示了add_argument方法的一些常见用法。您可以根据自己的需求来定义各种类型的命令行参数,并指定它们的动作、数量、默认值、类型、可选值等属性。

使用实例,如下
parser.add_argument('-i', '--input') #指定一个可选参数
parser.add_argument('input_file') #指定一个位置参数

Console 模块

rich 是一个用于在命令行界面(CLI)中美化输出的 Python 库。rich.console.Console 类是 rich 中的一个关键组件,它提供了强大的控制台输出功能,允许你在命令行中创建彩色文本、表格、图形等丰富的内容。
以下是一个简单的示例,展示如何使用 rich.console.Console 类来创建彩色文本输出:

pythonCopy code

from rich.console import Console

def main():

# 创建一个 Console 对象

console = Console()

# 输出彩色文本

console.print("Hello, [bold magenta]Rich[/bold magenta]!", style="bold magenta")

if __name__ == "__main__":

main()

  • 19
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
POC编写指南PDF是一份关于编写POC(Proof of Concept)的指南的电子书,通过PDF格式的形式提供给读者。POC是指概念验证,用于验证一个想法、概念或原理的可行性。编写POC时,可以使用各种技术、工具和方法来展示一个想法的可行性。 这份指南涵盖了编写POC的基本步骤和要点。首先,它介绍了POC的定义和目的,明确了编写POC的目标和意义。然后,指南详细介绍了如何选择一个合适的主题或想法,并构思POC的关键要素。在编写POC的过程中,指南提供了实用的建议和技巧,例如如何收集并分析数据、如何选择和使用适当的工具和技术,以及如何评估和展示POC的成果。 此外,指南还着重强调了编写POC的规范与标准。它指导读者编写结构清晰、逻辑严密的POC报告,并提醒读者注意文档的格式、排版和语言的规范性。这些规范和标准保证了POC的可读性和可理解性,使读者更容易理解POC的目的、方法和结果。 最后,指南还提供了一些实际的例子和案例分析,帮助读者更好地理解和应用指南中的内容。这些例子展示了不同领域和行业应用的POC,启发读者思考如何根据自己的需求和场景编写POC。 总之,POC编写指南PDF提供了一个系统和全面的指导,帮助读者学习和掌握编写POC的方法和技巧。无论是对于初学者还是有经验的人士,这份指南都是一个有价值的资源,可以提升他们编写POC的能力和水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nuc_ddddsj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值