Python基础import导包问题

本文介绍了在Win10环境下Python 3.6中import模块的方法,包括如何导入下级目录的testdir_test.py(需在二级目录放__init__.py),使用相对路径的上级目录导入,以及同级目录之间的导入。注意,当在二级目录直接运行文件时,可能因路径问题引发ImportError,需从主目录引用避免错误。
摘要由CSDN通过智能技术生成

首先我自己的环境是Win10 + python 3.6 基本此环境

  • 导下级目录
    python在import包的时候是查找同级目录及sys.path(python环境下)的文件。
    如果想要导入下级目录中的某个文件则使用:from 目录名 import 文件名比如像下面我想在cai_quan.pyimport testdir_test.py那么导包就是:from testdir2 import testdir_test.py。
    ps:在二级目录中需要放入一个名字为__init__.py的空文件里面什么都不需要写(但我删除发现也可以,再但是github看到两个大神的库都有放所以还是老实放吧)

导上级目录
使用from ..当前文件名 import 主目录文件因为python是使用相对路径的方式去查找的这样就比较好理解..的意思了。有一个注意点就是如果你是使用终端直接执行二级目录中的文件。那么会报ValueError: attempted relative import beyond top-level package因为python认为这是主目录不能再向上了。只能是在主目录中的文件引用到该二级目录文件那么才不会报错。一开始我还以为这种方式有问题直到...........都是泪啊

同级目录
在同级的两个目录引用时直接使用from 目录名 import 文件名比如说testdir_test.py引用hong_na.py那么就是:from testdir import hong_na这样就可以了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值