Python学习-9.2 程序界面-sys库介绍

可以在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 表示正常退出

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值