python---sys模块

sys模块是python的内置函数:可供访问由解释器使用或维护的变量和与解释器进行交互的函数

sys内的常用函数:

1:sys.path:获取指定模块搜索路径的字符串集合,即一个list。在import导入module_name时,就是根据sys.path的路径来搜索module.name。


import sys

path_list = sys.path
for i in path_list:
    print(i)

C:\Users\heave落色\PycharmProjects\untitled1
C:\Users\heave落色\PycharmProjects\untitled1
C:\Users\heave落色\AppData\Local\Programs\Python\Python36\python36.zip
C:\Users\heave落色\AppData\Local\Programs\Python\Python36\DLLs
C:\Users\heave落色\AppData\Local\Programs\Python\Python36\lib
C:\Users\heave落色\AppData\Local\Programs\Python\Python36
C:\Users\heave落色\AppData\Local\Programs\Python\Python36\lib\site-packages
C:\Users\heave落色\AppData\Local\Programs\Python\Python36\lib\site-packages\win32
C:\Users\heave落色\AppData\Local\Programs\Python\Python36\lib\site-packages\win32\lib
C:\Users\heave落色\AppData\Local\Programs\Python\Python36\lib\site-packages\Pythonwin
C:\Program Files\JetBrains\PyCharm 2017.3.3\helpers\pycharm_matplotlib_backend

    可以通过sys.path.append(),来将指定路径加入。

2:sys.argv:实现从程序外部向程序传递参数

sys.argv 变量是一个包含了命令行参数的字符串列表, 利用命令行想程序传递参数. 其中,脚本的名称总是 sys.argv 列表的第一个参数。

import sys
print(sys.argv)

['C:/Users/heave落色/PycharmProjects/untitled1/test.py']

3:sys.exit([arg]) 程序中间的退出, arg=0为正常退出,其他为异常退出。

如果需要中途退出程序,可以调用sys.exit函数,带有一个可选的整数参数返回给调用它的程序,表示你可以在主程序中捕获对sys.exit的调用。

 
import sys

def exitfunc(value):
    print (value)
    sys.exit(0)

print("hello")

try:
    sys.exit(90)
except SystemExit as value:
    exitfunc(value)   

print("come?")

程序首先打印hello,在执行exit(90),抛异常把90传给values,values在传进函数中执行,打印90程序退出。后面的”come?”因为已经退出所以不会被打印. 而此时如果把exitfunc函数里面的sys.exit(0)去掉,那么程序会继续执行到输出”come?”.

4sys.modules

sys.modules是一个全局字典(keys是模块名 ,values是模块),该字典是python启动后就加载在内存中。每当程序员导入新的模块,sys.modules将自动记录该模块。当第二次再导入该模块时,python会直接到字典中查找,从而加快了程序运行的速度。它拥有字典所拥有的一切方法.

5 sys.getdefaultencoding() / sys.setdefaultencoding() / sys.getfilesystemencoding()
sys.getdefaultencoding()
获取系统当前编码,一般默认为ascii。
sys.setdefaultencoding()
设置系统默认编码,执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行reload(sys),在执行 setdefaultencoding(‘utf8’),此时将系统默认编码设置为utf8。(见设置系统默认编码 )
sys.getfilesystemencoding()
获取文件系统使用编码方式,Windows下返回’mbcs’,mac下返回’utf-8’

6 sys.stdin/sys.stdout/sys.stderr

stdin,stdout,stderr在Python中都是文件属性对象, 他们在python启动时自动与shell环境中的标准输入, 输出, 出错相关. 而python程序在shell中的I/O重定向是有shell来提供的,与python本身没有关系.python程序内部将stdin, stdout, stderr读写操作重定向到一个内部对象.

sys.stdout 标准输出

sys.stdin 标准输入

sys.stderr 错误输出

7 sys.platform
获取当前系统平台. 如:win32、Linux等



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值