原文链接

sys模块提供了一系列有关Python运行环境的变量和函数。

常见用法
sys.argv
可以用sys.argv获取当前正在执行的命令行参数的参数列表(list)。
变量 解释
sys.argv[0] 当前程序名
sys.argv[1] 第一个参数
sys.argv[0] 第二个参数


参考代码:

# encoding: utf-8
# filename: argv_test.py
import sys# 获取脚本名字
print 'The name of this program is: %s' %(sys.argv[0])
# 获取参数列表
print 'The command line arguments are:'
for i in sys.argv:print i
# 统计参数个数
print 'There are %s arguments.'%(len(sys.argv)-1)

运行结果:

E:\p>python argv_test.py arg1 arg2 arg3
The name of this program is: argv_test.py
The command line arguments are:
argv_test.py
arg1
arg2
arg3
There are 3 arguments.

sys.platform
获取当前执行环境的平台,如win32表示是Windows 32bit操作系统,linux2表示是linux平台;

# linux
>>> import sys
>>> sys.platform
'linux2'# windows
>>> import sys
>>> sys.platform
'win32'

sys.path
path是一个目录列表,供Python从中查找第三方扩展模块。在python启动时,sys.path根据内建规则、PYTHONPATH变量进行初始化。

>>> sys.path['', 'E:\\Python27\\Lib\\idlelib', 'C:\\Windows\\system32\\python27.zip', 'E:\\Python27\\DLLs', 'E:\\Python27\\lib', 'E:\\Python27\\lib\\plat-win', 'E:\\Python27\\lib\\lib-tk', 'E:\\Python27', 'E:\\Python27\\lib\\site-packages']

**有时候为了让python能够找到我们自己定义的模块,需要修改sys.path的内容,比如:**
# 在path的开始位置 插入test
>>> sys.path.insert(0,'test')
>>> sys.path
['test', '', 'E:\\Python27\\Lib\\idlelib', 'C:\\Windows\\system32\\python27.zip', 'E:\\Python27\\DLLs', 'E:\\Python27\\lib', 'E:\\Python27\\lib\\plat-win', 'E:\\Python27\\lib\\lib-tk', 'E:\\Python27', 'E:\\Python27\\lib\\site-packages']
# 可以成功import test
>>> import test
# 找不到 other 这个模块
>>> import other
Traceback (most recent call last):File "<pyshell#10>", line 1, in <module>import other
ImportError: No module named other
# 需要添加path
>>> sys.path.insert(0,'other')
>>> import other
也可以用sys.path.append(“mine module path”)来添加自定义的module。sys.builtin_module_names
sys.builtin_module_names返回一个列表,包含内建模块的名字。如:>>> import sys
>>> print sys.builtin_module_names
('__builtin__', '__main__', '_ast', '_bisect', '_codecs', '_codecs_cn', '_codecs_hk', '_codecs_iso2022', '_codecs_jp', '_codecs_kr', '_codecs_tw', '_collections', '_csv', '_functools', '_heapq', '_hotshot', '_io', '_json', '_locale', '_lsprof', '_md5', '_multibytecodec', '_random', '_sha', '_sha256', '_sha512', '_sre', '_struct', '_subprocess', '_symtable', '_warnings', '_weakref', '_winreg', 'array', 'audioop', 'binascii', 'cPickle', 'cStringIO', 'cmath', 'datetime', 'errno', 'exceptions', 'future_builtins', 'gc', 'imageop', 'imp', 'itertools', 'marshal', 'math', 'mmap', 'msvcrt', 'nt', 'operator', 'parser', 'signal', 'strop', 'sys', 'thread', 'time', 'xxsubtype', 'zipimport', 'zlib')
代码示例:# encoding: utf-8
# find_module.pyimport sys# print sys.builtin_module_namesdef find_module(module):if module in sys.builtin_module_names:print module," => ","__builtin__"else:print module,"=> ",__import__(module).__file__find_module('os')
find_module('sys')
find_module('strop')
find_module('zlib')
find_module('string')# 运行结果:
>>>
======================== RESTART: E:/p/find_module.py ========================
os =>  E:\Python27\lib\os.pyc
sys  =>  __builtin__
strop  =>  __builtin__
zlib  =>  __builtin__
string =>  E:\Python27\lib\string.pyc

转载于:https://blog.51cto.com/dongbian77/2071259

【转载】Python常用模块之sys相关推荐

  1. 数据分析利器Python——常用模块(sys,os)

    文章目录 一.sys模块 二.os模块 一.sys模块 sys模块代表了Python解释器,主要用于获取和Python解释器相关的信息. 常用函数: sys.argv:获取运行Python程序的命令行 ...

  2. Python常用模块之sys模块

    sys.argv #命令行参数List,第一个元素是程序本身路径 sys.exit(n) # 退出程序,正常退出时exit(0) sys.version # 获取Python解释程序的版本信息 sys ...

  3. Python常用模块——目录

    Python常用模块学习 Python模块和包 Python常用模块time & datetime &random 模块 Python常用模块os & sys & sh ...

  4. 跟李宁老师学Python视频课程(12):Python常用模块-李宁-专题视频课程

    跟李宁老师学Python视频课程(12):Python常用模块-143人已学习 课程介绍         本系列课程一共20套,每一套视频课程会深入讲解Python的一类知识点.Python是当今炙手 ...

  5. 实战篇一 python常用模块和库介绍

    # -_-@ coding: utf-8 -_-@ -- Python 常用模块和库介绍 第一部分:json模块介绍 import json 将一个Python数据结构转换为JSON: dict_ = ...

  6. python常用模块大全总结-常用python模块

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. python常用模块什么是模块? 常见的场景:一个模块就是一个包含了py ...

  7. 对于python来说、一个模块就是一个文件-python常用模块

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

  8. python常用模块之shelve模块

    python常用模块之shelve模块 shelve模块是一个简单的k,v将内存中的数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据类型 我们在上面讲json.pickle ...

  9. Python常用模块集锦

    常用模块主要分为以下几类(缺失的后续再补充): 时间转换 时间计算 序列化和反序列化:json,pickle 编解码:unicode,base64 加解密:md5,sha1,hmac_sha1,aes ...

最新文章

  1. 重磅直播|激光雷达在高精地图中的应用
  2. Cpp 对象模型探索 / 含有虚基类的类的内存布局
  3. 搜索引擎反作弊之:整体技术思路
  4. MyEclipse for Windows 关于 java、jsp、xml、js、html 等文件的注释快捷键及注释格式介绍
  5. clickjacking:X-frame-options header missing 漏洞解决办法
  6. 20191021:(leetcode习题)乘积小于K的子数组
  7. 当UINavigationController作为UIViewController之后如何去除上部的空白
  8. android模拟摄像头,android模拟器如何连接摄像头
  9. 关于面向对象和面向过程本质的区别(个人感悟)
  10. Spring源码系列 — BeanDefinition
  11. 大革命修改后无法连接服务器,刺客信条大革命常见问题解决方法 中文设置教学...
  12. 用python制作动态二维码
  13. python制作二维码生成器3.0
  14. 使用Ambari快速部署Hadoop大数据环境
  15. 实验二——软件项目管理的直观感受
  16. Cortex-A 系列处理器
  17. Composing Text and Image for Image Retrieval - An Empirical OdysseyNam
  18. 【SQL武林秘籍】零基础带你快速上手SQL语言
  19. 一文搞懂C语言如何用指针来代替变量和数组进行数据的存储
  20. 适用于Linux的5种开源赛车和飞行游戏

热门文章

  1. 【编程练习】C语言debug合集
  2. 阿里云推荐码:8N6TBT
  3. Java编程之正则表达式
  4. 搭建Ubuntu下c/c++编译环境【转】
  5. webview页面和壳通信的库(精简版)
  6. ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项
  7. EntityFramework SaveChange()方法不能更新的问题
  8. 存在即合理:基于云计算的EMR
  9. Android学习记录之:Toast的使用
  10. MySQL存储过程_创建-调用