Python路径处理及模块导入

1.绝对路径

open文件如果不在当前路径下,就要写绝对路径(从根据目录开始)

2.模块与包

***.py文件就是一个模块(module)

文件夹或目录就是包(package)(文件夹与目录的区别就是目录下包含__init__.py)

 dir1 就是一个文件夹,dir2 就是一个目录

2.1引入模块

如下图,在同一个包下,module.py 下定义了一个变量 name 和一个函数 hello,

想在 lianxi.py 运行 name,hello

# from 模块名 import 变量,函数,类
from module import name,hello
print(name)
print(hello())

运行结果:

zhang san
hello!

2.2引入包

如下图,不在同一个包下,dir1包下有个模块dir1_module.py 下定义了一个变量 age,

想在 lianxi.py 运行 age

 

 运行结果:

18

想导入整个模块的话,如下操作

# from 包名 import 模块名
from dir1 import dir1_module
# 调用模块下的内容时,模块名.变量/函数/类
print(dir1_module.age)
from demo1 import module
print(module.hello())

运行结果:

18
hello!

若导入的模块下跟在用的模块下名字重复,如何解决,如下操作

# from ...import 变量/函数/类  as 别名
from dir1.dir1_module import age as dir1_module_age
age = 20
print(age) # 打印当前模块下定义的变量
print(dir1_module_age) #打印dir1_module模块下的age变量

运行结果:

20
18

不提倡用的一种导入方法:导入模块中所有的变量,函数,类

from module import *
print(name)
print(hello())

注意:最好每次都从项目的根目录开始查找

如:from dir1.dir1_module import age

# 查看当前系统下的路径
import sys
print(sys.path)

运行结果:

 ['E:\\lemon\\lianxi\\demo1', 'E:\\lemon\\lianxi', 'D:\\python\\PyCharm 2019.1.2\\helpers\\pycharm_display', 'D:\\python\\python38.zip', 'D:\\python\\DLLs', 'D:\\python\\lib', 'D:\\python', 'D:\\python\\lib\\site-packages', 'D:\\python\\PyCharm 2019.1.2\\helpers\\pycharm_matplotlib_backend']

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值