包及跨模块导入

包:其实就是一个包含__init__和多个模块的文件夹

py2中不包含__init__不能用from **(包) improt (模块)的方法导入

py3中做了优化,则可以

 

跨模块导入

  text可以from pro2 import say_hello 

在say_hello页面 不可以from proo import mymodule 

这样做会报错:ModuleNotFoundError: No module named 'proo'

但是text可以from pro2 import say_hello  然后间接运行 say_hello中 import 的mymodule模块,

因为在环境变量中text是在最上面的(可以理解为 from proo import mymodule 在text中可以运行,因为text和proo是平级的目录(等于把say_hello中的improt mymodule导进来运行而已)

在text.py上,该文件就是所谓的总入口程序!!以其为总程序,调用的module路径为其平级目录

 

 

os找绝对路径

os.path.abspath(__file__)

然后再用dirname函数(把路径往上翻一层)

os.path.dirname(os.path.abspath(__file__))

再加入到sys.path.append()中就可以了软件就会也在这里找文件(添加到python全局的环境变量里(猜一般都是在环境变量里找,就像在cmd中找python一样))

转载于:https://www.cnblogs.com/FlFtFw/p/9362255.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值