sys模块
常用的方法:
1. sys.argv
命令行参数List,第一个元素是程序本身路径
2. sys.exit(n)
退出程序,指定返回状态码n,正常退出时exit(0)
3. sys.version
获取Python解释程序的版本信息
4. sys.path
返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值;它是一个列表,故拥有列表的方法;
5. sys.platform
返回操作系统平台名称
6. sys.exec_prefix
查找当前python的安装目录,并返回绝对路径
7. sys.executable
查找当前python的解释器程序,并返回绝对路径
8. getsizeof(...)
getsizeof(object, default) -> int 以字节(b)为单位返回对象的大小。1B=8b
9. sys.stdout.write('please:')
和print差不多;但是这个会统计字符个数;字母、数字、特殊符号、汉字都是算一个; 比如: import sys val = sys.stdout.write('please:') print(val) # 在同一行输出 please:7 因为没有\n换行,所有打印在了一行;
10. sys.stdin.readline()
读取输入的内容,直到换行或者遇到EOF;如果没有输入,直接EOF,则返回一个空字符串; 例如: import sys val = sys.stdin.readline() # 执行到这里,会等待交互式输入内容,并赋值给val; print(val)
更多方法: https://docs.python.org/3/library/sys.html
动态信息:
sys.argv
返回一个列表;argv[0]是脚本本身(如果执行时带有路径则包含路径),argv[1]是第一个参数......
sys.path
模块搜索路径;path[0]是当前脚本所在的路径;
sys.modules
装载的模块的一个字典;
sys.displayhook()
调用以在交互会话中显示结果;用法再补充吧;
sys.excepthook()
处理异常会用到。用法再补充吧;
sys.stdin
打印标准输入的属性;
sys.stdout
打印标准输出的属性;
sys.stderr
打印标准错误的属性;
静态信息:
sys.builtinmodulenames
以元组形式返回内置模块名称;
sys.copyright
打印copyright信息;没用;
sys.exec_prefix
查找当前python的安装目录,并返回绝对路径
sys.executable
查找当前python的解释器程序,并返回绝对路径
sys.float_info
打印浮点类型有关信息
sys.floatreprstyle
以后补充吧;
sys.hash_info
打印哈希类型有关信息
sys.hexversion
打印单个整数的编码信息
sys.implementation
打印python实现的信息
sys.int_info
打印整型的信息;
sys.maxsize
打印容器支持的最大的长度;
sys.maxunicode
unicode编码的最大值
sys.platform
打印平台信息,如linux、win32等
sys.prefix
打印当前python的安装目录;打印出绝对路径;
sys.thread_info
打印线程实现的信息;
sys.version
打印python解释器的具体版本;
sys.version_info
以元组形式打印python解释器的版本;
sys.dllhandle
打印python dll的句柄;
sys.winver
打印python 库的版本
方法:
call_tracing(...)
call_tracing(func, args) -> object
调用函数,并启用追踪;用法再补充;
callstats(...)
callstats() -> tuple of integers
如果定义了call_profile,当Python被构建时,返回一个元组的函数调用统计。否则,没有返回。返回元组的内容详见官方;
displayhook(...)
displayhook(object) -> None
打印一个对象并将它保存在内置sys.stdout。用法再补充;
exc_info(...)
exc_info() -> (type, value, traceback)
返回最近捕获的异常的信息。
excepthook(...)
excepthook(exctype, value, traceback) -> None
通过显示它在sys.stderr回溯处理异常
exit(...)
exit([status])
指定退出状态;如果没有指定,则退出0表示成功;退出1表示失败;如果指定了整数,则退出为该整数;如果指定了对象,则打印该对象;
getasyncgenhooks(...)
get_asyncgen_hooks()
再补充吧;
getcoroutinewrapper(...)
get_coroutine_wrapper()
这个也再补充吧
getallocatedblocks(...)
getallocatedblocks() -> integer
返回当前分配的内存块数,而不管它们的大小。
getcheckinterval(...)
getcheckinterval() -> current check interval; see setcheckinterval().
sys.getcheckinterval sys.setcheckinterval 线程切换前python指令执行条数(GIL)
getdefaultencoding(...)
getdefaultencoding() -> string
获取当前默认的字符串编码;
getfilesystemencodeerrors(...)
getfilesystemencodeerrors() -> string
返回用于转换Unicode文件名的操作系统文件的错误模式。
getfilesystemencoding(...)
getfilesystemencoding() -> string
返回使用的编码转换成Unicode文件名的操作系统文件名。
getprofile(...)
getprofile()
根据sys.setprofile返回分析函数集。
getrecursionlimit(...)
getrecursionlimit()
返回递归限制的当前值,即Python解释器堆栈的最大深度。此限制防止无限递归导致C堆栈溢出和崩溃的Python。
getrefcount(...)
getrefcount(object) -> integer
返回对象的引用计数。
getsizeof(...)
getsizeof(object, default) -> int
以字节(b)为单位返回对象的大小。1B=8b
getswitchinterval(...)
getswitchinterval() -> current thread switch interval; see setswitchinterval().
gettrace(...)
gettrace()
根据sys.settrace返回全局调试跟踪功能设置。
getwindowsversion(...)
getwindowsversion()
获取当前windows版本信息;仅在windows下使用。
intern(...)
intern(string) -> string
以后补充;
is_finalizing(...)
is_finalizing()
如果python退出,则返回True.
setasyncgenhooks(...)
set_asyncgen_hooks(*, firstiter=None, finalizer=None)
设置一个异步生成器的对象
setcoroutinewrapper(...)
set_coroutine_wrapper(wrapper)
设置一个协同对象包装。
setcheckinterval(...)
setcheckinterval(n)
告诉Python解释器每n个指令检查异步事件。这也会影响线程切换的频繁发生。
setprofile(...)
setprofile(function)
设置剖析功能。它将在每个函数调用和返回时调用。
setrecursionlimit(...)
setrecursionlimit(n)
将Python解释器堆栈的最大深度设置为n。这个限制防止无限递归导致C堆栈溢出和崩溃Python。最大可能的限制是依赖于平台的。
setswitchinterval(...)
setswitchinterval(n)
在Python解释器中设置理想的线程切换延迟,如果解释器执行长的不间断代码序列(这是特定于实现的和工作量相关的),那么交换线程的实际频率可能会更低。
参数必须在秒内代表期望的开关延迟,典型值是0.005(5毫秒)。
settrace(...)
settrace(function)
设置全局调试跟踪功能。它将在每个函数调用时被调用。