sys模块 python

此文转载于 https://www.jianshu.com/p/e61dd809a060,只是用于个人需求

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!

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'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值