sys模块的功能很多,下面介绍几个常用的模块。

1.sys.argv:从外部向程序内部传递参数

#!/usr/bin/env python
import sys
print(sys.argv[0]) #argv[0]表示函数名
print(sys.argv[1]) #第一个参数
print(sys.argv[2]) #第二个参数
~

执行结果:

[root@7 script]# python sys_argv.py frist_argv second_argv
sys_argv.py
frist_argv
second_argv

2.sys.exit(n):

执行到主程序末尾,解释器自动退出,但是如果需要中途退出,可以调用sys.exit()函数,带一个可选的整数参数返回给调用它的程序,表示你可以在主程序中捕获对sys.exit的调用。(0是正常退出,其余的为异常。)

3.sys.path():

可以获取指定模块搜索路径的字符串集合,可以将写好的模块放在某个路径下,就可以在程序import时找到。

>>> import sys
>>> sys.path
['', '/usr/local/python3.6/lib/python36.zip', '/usr/local/python3.6/lib/python3.6', '/usr/local/python3.6/lib/python3.6/lib-dynload', '/usr/local/python3.6/lib/python3.6/site-packages']

4.sys.modules():

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

#!/usr/bin/env python
import sys
print(sys.modules.keys())
print(sys.modules.values())
print(sys.modules['os'])

5.sys.platform(): 获取当前系统平台

>>> sys.platform
'linux'

6.sys.version(): 获取Python解释程序的版本信息

>>> sys.version
'3.6.3 (default, Oct 24 2017, 18:55:29) \n[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)]'

python常用模块——sys模块的更多相关文章

  1. python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则

    python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib  subprocess ...

  2. python 全栈开发,Day27(复习, defaultdict,Counter,时间模块,random模块,sys模块)

    一.复习 看下面一段代码,假如运行结果有问题,那么就需要在每一步计算时,打印一下结果 b = 1 c = 2 d = 3 a = b+c print(a) e = a + d print(e) 执行输 ...

  3. Python进阶(九)----json模块, pickle模块, os模块,sys模块,hashlib模块

    Python进阶----json模块, pickle模块, os模块,sys模块,hashlib模块 一丶序列化模块 什么是序列化: ​ 将一种数据结构,转换成一个特殊的序列(特殊字符串,用于网络传输 ...

  4. Python模块02/序列化/os模块/sys模块/haslib加密/collections

    Python模块02/序列化/os模块/sys模块/haslib加密/collections 内容大纲 1.序列化 2.os模块 3.sys模块 4.haslib加密 5.collections 1. ...

  5. Python常用内建模块

    Python常用内建模块 datetime 处理日期和时间的标准库. 注意到datetime是模块,datetime模块还包含一个datetime类,通过from datetime import da ...

  6. 常用模块(collections模块,时间模块,random模块,os模块,sys模块,序列化模块,re模块,hashlib模块,configparser模块,logging模块)

    认识模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的 ...

  7. python os和sys模块使用

    python os和sys模块使用 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相 ...

  8. shelve模块,sys模块,logging模块

    1.shelve模块 用于序列化的模块,shelve模块比pickle模块简单,只有open函数,返回类似字典的对象,可读可写;key必须为字符串,而值可以是python所支持的数据类型. impor ...

  9. day13 函数模块之序列化 random 模块 os模块 sys模块 hashlib模块 collections模块

    json import json dic = {'k1':'v1','k2':'v2','k3':'v3'} str_dic = json.dumps(dic) #序列化:将一个字典转换成一个字符串 ...

  10. os模块 sys模块 json/pickle 模块 logging模块

    目录 模块 1. os模块 2. sys模块 3. json和pickle模块 4. logging模块 (1)日志配置 (2)实际开发中日志的使用 模块 1. os模块 os模块有什么用 与操作系统 ...

随机推荐

  1. 因DataTable的字段值为DBNull引发的异常

    1 问题重现 (1)新建项目DBNullExp.项目属性为"控制台应用程序": (2)在项目下新建数据集Schools(数据集文件的后缀名为.xsd): watermark/2/t ...

  2. Google Chrome v48.0.2564.

    http://www.pcpop.com/doc/1/1819/1819996.shtml 摘要:谷歌浏览器Chrome Stable 稳定版迎来例行升级,新版本号为v48.0.2564.82,上一版 ...

  3. openresty+lua在反向代理服务中的玩法

    openresty+lua在反向代理服务中的玩法 phith0n · 2015/06/02 10:35 0x01 起因 几天前学弟给我介绍他用nginx搭建的反代,代理了谷歌和维基百科. 由此我想到了 ...

  4. jquery插件实现分页

    Query Pagination分页插件 原项目地址:http://plugins.jquery.com/project/pagination 版本:v1.2 源文件下载:英文原版 或 中文翻译修改版 ...

  5. Linux下查看分区UUID

    有两种方法: 1.#:blkid 2.ls -l /dev/disk/by-uuid/

  6. VS中去除SrouceControl的信息

    如果在不连接TFS的情况下,编辑一个已经source control的solution,总是会有烦人的提示信息.如果你确定不再需要source control,可以这么干. Here is how t ...

  7. IOS设计模式的六大设计原则之单一职责原则(SRP,Single Responsibility Principle)

    定义 就一个类而言,应该仅有一个引起它变化的原因. 定义解读 这是六大原则中最简单的一种,通俗点说,就是不存在多个原因使得一个类发生变化,也就是一个类只负责一种职责的工作. 优点 类的复杂度降低,一个 ...

  8. abp发布需要注意的问题

    1>报system.object不存在. 需要从相关目录下面复制System.Runtime.dll eg:C:\Program Files (x86)\Reference Assemblies ...

  9. 整合Thinkphp数据库基本操作CURD,界面datagrid采用EasyUi的Demo

     1 <?php  2     class CurdAction extends Action{  3         public function del($id){  4          ...

  10. jsp中怎么隐藏from表 和一些按钮?

    给你提供两种方法:1.style.display="none"2.添加margen-left属性,值赋为负数,页面上有,但是不会显示