sys.path问题

s y s . p a t h 问 题 sys.path问题 sys.path


什么是sys.path

指定模块的搜索路径的字符串列表。


什么是模块?模块就是一个py文件

什么是包?包就是问价夹加一个__init__.py文件


一 广 义 模 块 分 类 一 广义模块分类 广

在这里插入图片描述

二 模 块 的 导 入 二 模块的导入

2.1、导入整个模块——import 模块名

  • 调用方式:模块名.函数名或类名
import time

start = time.time()      # 调用time模块中的time()
time.sleep(5)            # 调用time模块中的sleep()  休息3秒钟
end = time.time()       
print("程序运行用时:{:.2f}秒".format(end-start))

在这里插入图片描述

2.2、从模块中导入类或函数——from 模块 import 类名或函数名

  • 调用方式:函数名或类名
from itertools import product   

ls = list(product("AB", "123"))
print(ls)

在这里插入图片描述

一次导入多个

from function import fun1, fun2

fun1.f1()
fun2.f2()

在这里插入图片描述
2.3、导入模块中所有的类和函数——from 模块 import *

from random import * 

print(randint(1,100))       # 产生一个[1,100]之间的随机整数
print(random())             # 产生一个[0,1)之间的随机小数

在这里插入图片描述

三 模 块 的 查 找 路 径 三 模块的查找路径

模块搜索查找顺序:

1、内存中已经加载的模块
2、内置模块
3、sys.path路径中包含的模块
  • 1、内存中已经加载的模块
import fun1

fun1.f1()

在这里插入图片描述

# 删除硬盘上的fun1 文件
import fun1

fun1.f1()

在这里插入图片描述

# 修改硬盘上的fun1 文件
import fun1

fun1.f1()
# 居然没变,说明是优先从内存中读取的

在这里插入图片描述

  • 2、内置模块
# 2、内置模块
# Python 启动时,解释器会默认加载一些 modules 存放在sys.modules中
# sys.modules 变量包含一个由当前载入(完整且成功导入)到解释器的模块组成的字典, 模块名作为键, 它们的位置作为值
import sys
print("*****************")
print(len(sys.modules))
print("*****************")
print("math" in sys.modules)
print("*****************")
print("numpy" in sys.modules)
print("*****************")
for k,v in list(sys.modules.items())[:3]:
    print(k, ":", v)
print("*****************")

在这里插入图片描述

  • 3、sys.path路径中包含的模块
import sys
for i in sys.path:
    print(i)

在这里插入图片描述

* sys.path的第一个路径是当前执行文件所在的文件夹
* 若需将不在该文件夹内的模块导入,需要将模块的路径添加到sys.path
import sys
sys.path.append("C:\\Users\\ibm\\Desktop")    # 注意是双斜杠
import fun3
fun3.f3()

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值