sys模塊

python中sys模塊是由c語言實現的(python-2.6.2-src\Python\sysmodule.c)內置模塊,sys模塊提供常量、函數和python解釋器方法等信息。

1.命令行參數sys.argv

argv是一個命令行參數list,argv[0]指的就是腳本路徑

[root@localhost python]# cat argv.py
#!/usr/bin/python
import sys
print sys.argv
for i in range(len(sys.argv)):
        print "argument %d: %s" % (i, sys.argv[i])

[root@localhost python]# ./argv.py
['./argv.py']
argument 0: ./argv.py
[root@localhost python]# ./argv.py hello world !
['./argv.py', 'hello', 'world', '!']
argument 0: ./argv.py
argument 1: hello
argument 2: world
argument 3: !
[root@localhost python]#

如果腳本通過python -c來執行,那麼argv[0]指的就是-c

[root@localhost python]# python -c "import sys; print sys.argv[0]; print sys.argv[1]" hello
-c
hello
[root@localhost python]#

2.sys.builtin_module_names、sys.modules.keys()

通過sys.builtin_module_names可以看到python所有的內置模塊。

>>> sys.builtin_module_names
('__builtin__', '__main__', '_ast', '_codecs', '_sre', '_symtable', '_warnings', 'errno', 'exceptions', 'gc', 'imp', 'marshal', 'posix', 'pwd', 'signal', 'sys', 'thread', 'zipimport')

sys.modules.keys()只能列出所有import的模塊

>>> sys.modules.keys()
['cStringIO', 'copy_reg', 'sre_compile', '_sre', 'encodings', 'site', '__builtin__', 'subprocess', 'syslog', 'ABRTUtils', 'gc', '__main__', 'encodings.encodings', 'select', 'abc', 'posixpath', 'errno', 'binascii', 'encodings.codecs', 'sre_constants', 're', '_abcoll', 'types', '_codecs', 'new', '_struct', '_warnings', 'fcntl', 'genericpath', 'stat', 'zipimport', 'encodings.__builtin__', 'warnings', 'UserDict', 'encodings.utf_8', 'sys', 'codecs', 'readline', 'paste', 'os.path', 'struct', 'sitecustomize', 'pickle', 'signal', 'traceback', 'linecache', 'posix', 'encodings.aliases', 'time', 'exceptions', 'sre_parse', 'abrt_exception_handler', 'os', 'marshal']

3.sys.byteorder

網絡字節序,big-endian or little endian

4.sys.exit(n) 

退出程序,正常退出時exit(0)

5.sys.maxint         最大的Int值

6.sys.modules        modules爲dictionary,存儲系統導入的模塊

7.sys.path        模塊的搜索路徑,初始化時使用PYTHONPATH環境變量的值

8.sys.platform       返回操作系統平臺名稱

9.sys.version sys.version_info      python版本信息

>>>sys.version_info

(2, 4, 3, 'final', 0) 'final'表示最終,也有'candidate'表示候選,表示版本級別,是否有後繼的發行

10.sys.stdout sys.stdin sys.stderr   分別表示標準輸入輸出,錯誤輸出的文件對象.

 

 

 





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章