Python标准库系列之sys模块

本系列文章来源:<a>https://blog.ansheng.me/article/python-full-stack-way</a>
This module provides access to some variables used or maintained by the interpreter and to functions that interact strongly with the interpreter. It is always available.

sys模块用于提供对解释器相关的操作

模块方法    解释说明
sys.argv    传递到Python脚本的命令行参数列表,第一个元素是程序本身路径
sys.executable  返回Python解释器在当前系统中的绝对路径
sys.exit([arg]) 程序中间的退出,arg=0为正常退出
sys.path    返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform    返回操作系统平台名称,Linux是linux2,Windows是win32
sys.stdout.write(str)   输出的时候把换行符\n去掉
val = sys.stdin.readline()[:-1] 拿到的值去掉\n换行符
sys.version 获取Python解释程序的版本信息

1.位置参数

[root@ansheng ~]# cat scripts.py    
#!/usr/bin/env python
import sys
print(sys.argv[0])
print(sys.argv[1])
print(sys.argv[2])
[root@ansheng ~]# python scripts.py canshu1 canshu2  
scripts.py
canshu1
canshu2

sys.argv[0]代表脚本本身,如果用相对路径执行则会显示脚本的名称,如果是绝对路径则会显示脚本名称;

2.程序中途退出
python在默认执行脚本的时候会由头执行到尾,然后自动退出,但是如果需要中途退出程序, 你可以调用sys.exit函数,它带有一个可选的整数参数返回给调用它的程序. 这意味着你可以在主程序中捕获对sys.exit的调用。(注:0是正常退出,其他为不正常,可抛异常事件供捕获!)

原脚本和输出的结果:

[root@iZ28i253je0Z sys]# cat sys-03.py 
#!/usr/bin/python
# _*_ coding:utf-8 _*_

import sys

print "hello word!"
print "your is pythoner"
[root@iZ28i253je0Z sys]# python sys-03.py 
hello word!
your is pythoner

执行脚本之后会输出,下面这两段内容:

hello word!
your is pythoner

然后我们在print "hello word!"之后让程序退出不执行print "your is pythoner"

[root@iZ28i253je0Z sys]# cat sys-03.py 
#!/usr/bin/python
# _*_ coding:utf-8 _*_

import sys

print "hello word!"
sys.exit()
print "your is pythoner"
[root@iZ28i253je0Z sys]# python sys-03.py 
hello word!

PS:sys.exit从python程序中退出,将会产生一个systemExit异常,可以为此做些清除除理的工作。这个可选参数默认正常退出状态是0,以数值为参数的范围为:0-127。其他的数值为非正常退出,还有另一种类型,在这里展现的是strings对象类型。

3.获取模块路径
在使用Python中用import、import导入模块的时候,那Python是怎么判断有没有这个模块的呢? 其实就是根据sys.path的路径来搜索你导入模块的名称。

>>> for i in sys.path:
...     print(i)
... 

/usr/local/lib/python3.5/site-packages/pysnmp_apps-0.4.1-py3.5.egg
/usr/local/lib/python3.5/site-packages/pysnmp-4.3.2-py3.5.egg
/usr/local/lib/python3.5/site-packages/pycrypto-2.6.1-py3.5-linux-x86_64.egg
/usr/local/lib/python3.5/site-packages/pysmi-0.0.7-py3.5.egg
/usr/local/lib/python3.5/site-packages/pyasn1-0.1.9-py3.5.egg
/usr/local/lib/python3.5/site-packages/ply-3.9-py3.5.egg
/usr/local/lib/python3.5/site-packages/setuptools-19.2-py3.5.egg
/usr/local/lib/python35.zip
/usr/local/lib/python3.5
/usr/local/lib/python3.5/plat-linux
/usr/local/lib/python3.5/lib-dynload
/usr/local/lib/python3.5/site-packages

4.获取当前系统平台
Linux:

>>> sys.platform
'linux

Windows:

In [3]: import  sys

In [4]: sys.platform
Out[4]: 'win32'
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容