可以在Python标准库大全:https://docs.python.org/zh-cn/3/library/index.html中查找sys标准库的解释说明
sys标准库
本章对sys标准库中的重点函数进行讲解,sys库的作用主要是查看python解释器信息及传递信息给python解释器。
sys库的三个重要函数:sys.argv
1. sys.argv
sys.argv是从程序外部获取参数的桥梁,返回一个列表,其中包含了脚本路径及传递给Python脚本的命令行参数。
代码演示:
①返回脚本路径
import sys
print('开始执行程序')
print(sys.argv)
--输出
开始执行程序
['D:\\program\\Pycharm\\Pycharm project\\main.py']
可以看到,程序以列表形式输出了脚本路径
②传递给Python脚本的命令行参数
使用命令行运行该py脚本(main.py)。我的python安装在d盘,因此需要使用python
命令,另外由于路径有空格,需使用双引号分隔。
可以看到脚本可以正常运行。
此时,若在命令行中输入其他字符,则同样会以列表形式返回,这就是所说的可从程序外部获取参数。
③命令行参数的作用
将main.py的内容修改如下:
import sys
print('开始执行程序')
print(sys.argv)
for i in range(int(sys.argv[1])):#获取argv的第二个参数
print('执行{}'.format(i))
在命令行中调用该脚本并传参:
可以看到,5作为参数被传入脚本,成功运行程序。
综上: argv可以获取程序外部的参数,并非等用户输入,可以由系统传递给python脚本程序。其优点是方便程序员通过命令方式直接控制程序的运行状态,不需要通过input对数据进行处理。
2. sys.exit(n)
sys.exit(n)的作用是退出python程序,exit(0)表示正常退出,当参数非0时,表示错误退出。
import sys
print('开始执行程序')
def run1():
pass
return 0
sys.exit(run1())
print('python')
--输出
开始执行程序
可以看到sys.exit(run1())
之后的程序并未运行。
3. sys.version
sys.version用于获取python解释器的版本信息
import sys
print(sys.version)
--输出
3.10.8 (tags/v3.10.8:aaaf517, Oct 11 2022, 16:50:30) [MSC v.1933 64 bit (AMD64)]
PyQt5窗口引用sys标准库的作用
在创建PyQt5窗口时,会引入sys标准库,学习完sys的重点函数后,可以知道其中每一行的作用
import sys # 标准库system
from PyQt5.QtWidgets import QApplication, QWidget
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.resize(350, 350)
self.show()
if __name__ == "__main__":
app = QApplication(sys.argv)
# sys.argv是一个从程序外部获取参数的桥梁,在此处负责将程序的位置传递给QApplication函数
ex = Example()
sys.exit(app.exec_())#sys.exit的作用是关闭程序,其中的参数无论是0还是非0,均会退出,0 表示正常退出