动态对象
sys.argv 传递给程序的命令行参数列表,其中sys.argv[0]表示脚本名称
import sys
for i in range(len(sys.argv)):
print('argv{0}:type is {1},value is {2}'.format(i,type(sys.argv[i]),sys.argv[i]))
sys.path 模块的搜索路径;sys.path[0]表示当前脚本所在目录
所有的模块import都从“根节点”开始。根节点的位置由sys.path中的路径决定,项目的根目录一般自动在sys.path中。如果希望程序能处处执行,需手动修改sys.path。
import sys,os
BASE_DIR = os.path.dirname(os.path.abspath(__file__)) #存放当前.py所在的绝对路径
sys.path.append(BASE_DIR)
sys.modules 已加载的模块的字典,可以像一般的字典一样进行各种字典操作。
import sys
sys.modules.keys()
dict_keys(['sys', 'builtins', '_frozen_importlib', '_imp', '_thread', '_warnings', '_weakref', 'zipimport', '_frozen_importlib_external', '_io', 'marshal', 'posix', 'encodings', 'codecs', '_codecs', 'encodings.aliases', 'encodings.utf_8', '_signal', '__main__', 'encodings.latin_1', 'io', 'abc', '_abc', 'site', 'os', 'stat', '_stat', 'posixpath', 'genericpath', 'os.path', '_collections_abc', '_sitebuiltins', '_bootlocale', '_locale', 'types', 'importlib', 'importlib._bootstrap', 'importlib._bootstrap_external', 'warnings', 'importlib.util', 'importlib.abc', 'importlib.machinery', 'contextlib', 'collections', 'operator', '_operator', 'keyword', 'heapq', '_heapq', 'itertools', 'reprlib', '_collections', 'functools', '_functools', 'virtualenvwrapper', 'readline', 'atexit', 'rlcompleter'])
sys.exc_info() 获取正在处理的异常的相关信息,返回值为一个包含异常类、异常实例和异常回溯信息的元组
import sys
s = 'abc'
try:
int(s)
except ValueError:
e = sys.exc_info()
print(e)
exc_type, exc_value, exc_traceback = e
交互模式下使用的
sys.last_type 返回最近一次捕获的异常的类型
- sys.last_value 返回最近一次捕获的异常的值
sys.last_traceback 返回最近一次捕获的异常的追踪信息
静态对象
sys.builtin_module_names
- sys.copyright
- sys.exec_prefix
- sys.executable
- sys.float_info
- sys.float_repr_style
- sys.hash_info
- sys.version_info
- sys.maxsize
- sys.maxunicode
- sys.platform
- sys.version
- sys.byteorder
-
方法
sys.displayhook(p_object)
- sys.execpthook(type,value,traceback)
- sys.exit(n)
- sys.getdefaultencoding()
- sys.getsizeof()
- sys.stdin
- sys.stdout
- sys.stderr