python的sys模块剖析
前言
由于最近一直在练习编写一些基本的端口扫描工具,虽然很多工具早就已经成熟,我们也不必再造轮子,但是其中的基本原理我们还是要了解和学习一些的,毕竟不能只做“脚本小子”,正如我所认为的一个正确的学习过程应该是这样的:使用—>模仿—>超越。我觉得这也是安全开发所应该经历的过程。从使用别人的工具,到模仿制作相似的工具,再到实现自己独特的想法。所以,学好这些基本模块的使用是很重要的,废话不多说了,直接开始。
环境
python——>3.8
windows
简要
sys模块是python自带的模块,无需另外安装,内置了许多函数,我们通过调用这些内置模块函数可以实现很多我们需要的功能,最常见的比如说参数的传递,异常的处理等等。
sys常用方法文档:
方法
说明
sys.argv
接收命令行的参数,是一个列表,第一个元素是文件本身
sys.exit([arg])
程序退出,arg表示退出状态,默认为0,arg为0视为成功终止,否则为异常终止
sys.modules
输出当前程序加载的模块
sys.path
List,指定模块搜索路径,初始化是python的环境变量
sys.platform
平台操作系统的名称
sys.stdin
标准输入流
sys.stdout
标准输出流
sys.stderr
标准错误流,就是专门用来输出错误的
sys.exc_info()
给出当前正在处理的异常的信息。返回的信息仅限于当前线程和当前堆栈帧
sys.exc_clear()
清除当前正在处理的异常的信息
详细介绍
下面我们来通过代码实际了解一下,毕竟看文字不如动手敲代码来的实在
sys.argv
这个方法是用来传参的,通常我们编写完脚本时候有些形参是需要从外部传入的。
def demo(p0, p1, p2):
print('这是自带的第一个参数:', p0)
print('这是输入的第一个参数:', p1)
print('这是输入的第