sys模块

sys模块

  • sys.path: 当前文件的路径
  • sys.modules: 当前文件一共导入了多少的路径存在内存中
  • sys.platform: python解释器定义的当前的操作系统,这个是和python解释器打交道的,这个不准确
  • sys.exit(): 执行退出程序,退出后后续的程序不会再执行。
  • sys.argv: 交互时输入的内容
    • 命令行运行文件:在命令行中输入python 路径/执行的文件.py 交互数据1 交互数据2 交互数据3...
    • 交互数据必须是在文件中的程序里定义好的,交互数据之间以逗号隔开,数据的顺序必须和程序总的顺序保持一致。
    • 程序中必须把交互数据名在程序之前定义好,例如:name = sys.argv[1],pwd = sys.argv[2], 注意这里也是下标,但是是从1开始,不是0
    • sys.argv的作用和input的作用基本一致,都是用于交互使用,在实际的开发中argv更加普遍
      • 运维人员在测试程序的时候一般都是在命令行一次把所有的内容全部输入完成执行程序,而使用的时候需要不断的进行交互,不停的输入。
      • 从系统的角度来讲,当系统调度一个资源执行程序时,如果用input进行输入时系统会把程序放在阻塞队列,当输入完成后把程序放在就绪队列,需要等到分配资源的时候才能再次执行,这样会消耗资源和浪费时间,而sys.argv在启动文件的时候直接就输入了交互数据,避免造成阻塞。
# 文件名:sys模块.py
name = sys.argv[1]
# 输入的第一个下标为1
pwd = sys.argv[2]
# 输入的第二个下标为2
if name == 'alex' and pwd == '1234':
    print('执行以下程序')
    for i in range(10):
        if i <= 6:
            print(i)
        else:
            sys.exit()
else:
    print("输入错误")
    sys.exit()

# item2命令行输入:
python 路径/sys模块.py alex 1234
'''
打印结果:
执行以下程序
0
1
2
3
4
5
6
'''
posted @ 2020-02-14 14:33  大道至诚  阅读(117)  评论(0编辑  收藏  举报