python 中的sys模块(python解释器相关)

python 中的sys模块(python解释器相关)

(1)sys中常用函数
  1. sys.argv, 实现从程序外部直接向程序传递参数
  2. sys.path, 查看模块的搜索路径
  3. sys.modules, 获取导入到内存中所有模块的名字:内存地址
  4. sys.getdefaultencoding(), 获取python解释器当前编码,python一般默认为utf-8
  5. sys.getfilesystemencoding(), 获取python解释器中文件系统编码
  6. sys.platform, 获取当前系统平台
(2)sys中的sys.argv
  1. sys.argv的返回值是一个列表,在命令行运行时,第一个值是python命令文件路径名如下
    1
    2
    3
  2. 在命令行运行时,第2,3…个值是在文件路径后依次输入的值,如下
    4
  3. sys.argv 的简单应用在命令行中测试需要登录的程序
#用sys,argv传参会使代码抢占CPU资源,让代码运行速度更快
#如果程序陷入input事件,会使代码退出CPU资源的竞争
import sys
sys.argv
if len(sys.argv)==3:
    if sys.argv[1] == '-uabc' and sys.argv[2] == '-p123':
        print('登陆成功')
else:
    username=input('username:')
    password = input('password:')
    if username == 'abc' and password == '123':
        print('登陆成功')

运行结果如下:
5

(3)sys中的sys.path
  1. 模块存在硬盘上,使用import 模块,这时模块才到内存中
  2. sys.path是记录python各个模块的路径,如下图
    在这里插入图片描述
  3. 导入模块时,就会从sys.path路径中从第一个开始往后查找,找到就会导入,因此自定
    义模块名称不要和内置模块重名,否则会报错
(4)sys中的sys.modules
  1. sys.modules,就是我们导入到内存中所有模块的名字:内存地址,如下图
    2
  2. 模块的内存地址可以直接当模块来使用
import sys,re
print(sys.modules['re'].findall('\d+','12ab12'))
#输出结果:['12', '12']
#先使用sys.modules['re']获取re内存地址,然后可以直接当做re调用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值