标准库模块——sys模块

1
2
import sys
print(sys.path)

path是环境变量用。
该命令可以显示python下的所有存放库的路径。必须要存在目录下的其中一个才行。
python的标准库一般会保存在这个文件内:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\Lib

python的第三方库,一般会存放在下面的地址内:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\Lib\site-packages

1
2
import sys
print(sys.argv)

如果需要添加一个环境变量,就需要加:

1
2
3
4
5
import os
import sys
BASE_DIR=print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.append(BASE_DIR)
form conf import settings   #从conf目录下来调用settings文件

argv,是可以打印出来文件的路径。
可以对文件进行标记,为后期调用做准备。
在pycharm保存的为绝对路径。
['I:/python/Python/day1/1.py']
在cmd中,使用的是相对路径。
必须查看到自己的文件目录所在地后,输入该命令。

 

例如:
如果在pycharm中定义了该文件为2,那么再取文件时,输入2即可。
import sys
print(sys.argv)
print(sys.argv[2])

 

stdout,表示一行内输出。

如果想要在一行内不断出现的话,那么就需要一行内输出。

1
2
3
4
5
6
7
import sys
import time
  
for i in range(20):
    sys.stdout.write('#')
    sys.stdout.flush()
    time.sleep(1)

 

1
2
import sys
print(sys.getdefaultencoding())

sys.getdefaultencoding(),可以显示出当前使用的字符编码是什么。

sys.version

获得python解释程序的版本信息

 sys.getrefcount()

引用计数器,查看该内存地址一共被引用多少次。

1
2
3
4
import sys
 
a = [11,22,33]
print(sys.getrefcount(a))   #这里的2是表示,a引用过一次,sys又引用一次。

 不重要的:

1
sys.getrecursionlimit()   查看最大的递归数

sys.modules

显示所有以导入的模块,也可以指定模块进行提取。(以key,value形式)

1
2
3
4
5
6
7
8
9
import sys
import test
print(test)       #显示test的模块名称
print(sys.modules)   #可以找到所有的以导入的模块
print(sys.modules['test'])   #找到相对应的模块。
 
#显示效果是一样的
#<module 'test' from 'D:\\python\\test.py'>
#<module 'test' from 'D:\\python\\test.py'>

配合getattr进行自有对象的调用。

1
2
3
#如果想要调用自己的
a = print('111')
getattr(sys.modules[__name__],'a')   #自己对象的导入。

sys.platform

返回操作系统平台名称

posted @   新兵蛋Z  阅读(161)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
· .NET开发智能桌面机器人:用.NET IoT库编写驱动控制两个屏幕
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· ASP.NET Core - 日志记录系统(二)
阅读排行:
· 在外漂泊的这几年总结和感悟,展望未来
· 博客园 & 1Panel 联合终身会员上线
· 支付宝事故这事儿,凭什么又是程序员背锅?有没有可能是这样的...
· https证书一键自动续期,帮你解放90天限制
· 在 ASP.NET Core WebAPI如何实现版本控制?
点击右上角即可分享
微信分享提示