首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python从子目录导入*不起作用

Python从子目录导入*不起作用可能是因为以下原因:

  1. 子目录中没有一个名为__init__.py的文件,这是标识子目录为Python包的必要文件。解决方法是在子目录中创建一个空的__init__.py文件。
  2. 子目录中的__init__.py文件中没有定义__all__变量,这会导致无法从子目录中导入所有模块。解决方法是在__init__.py文件中定义__all__变量,列出要导入的模块。
  3. 子目录名称与Python内置模块或第三方模块冲突,导致无法正确导入子目录中的模块。解决方法是更改子目录的名称,避免与其他模块名称冲突。
  4. 导入语句中的路径不正确。确保在导入语句中使用正确的相对或绝对路径来指定子目录。

总结一下,要解决Python从子目录导入*不起作用的问题,需要确保子目录是一个Python包(包含__init__.py文件),在__init__.py文件中定义了__all__变量,并且导入语句中使用正确的路径。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

python导入父级别目录

这种包我们可以通过python setup install 进行安装后,通过import XXX或from XXX import yyy 进行导入。...不过如果是自己遍写的依赖包,又不想安装到python的相应目录,可以放到本目录里进行import进行调用;为了更清晰的理清程序之间的关系,例如我们会把这种包放到lib目录再调用。...|– test1.py 这时看到test1.py和lib目录(即mod2.py的父级目录),如果想在程序test1.py中导入模块mod2.py ,可以在lib件夹中建立空文件init.py...init.py的模块,这个是python的规定,用来告诉python解释器将该目录当成一个内容包,即该目录是一个包,里面包含了python模块的。...二、python中的模块搜索路径 在一个模块被导入时,PVM会在后台从一系列路径中搜索该模块,其搜索过程如下: 1、在当前目录下搜索该模块; 2、在环境变量PYTHONPATH中指定的路径列表中依次搜索

3.7K10
  • Python在不同目录导入模块的方法

    python在不同层级目录import模块的方法 使用python进行程序编写时,经常会调用不同目录下的模块及函数。本篇博客针对常见的模块调用讲解导入模块的方法。 ---- 1....同级目录下的调用 目录结构如下: – src |– mod1.py |– test1.py 若在程序test1.py中导入模块mod1, 则直接使用 *import mod1*或...---- 补充__init__.py 在python模块的每一个包中,都有一个__init__.py文件(这个文件定义了包的属性和方法)然后是一些模块文件和子目录,假如子目录中也有__init__....当你将一个包作为模块导入(比如从 xml 导入 dom )的时候,实际上导入了它的__init__.py 文件。 一个包是一个带有特殊文件 __init__.py 的目录。...如果 __init__.py 不存在,这个目录就仅仅是一个目录,而不是一个包,它就不能被导入或者包含其它的模块和嵌套包。 __init__.py 中还有一个重要的变量,叫做__all__。

    3K10

    python模块导入-软件开发目录规范-01

    (requests...) 3.自己定义开发的功能模块(你写在py文件里的内容,可以被当成模块导入) """ 模块的四种表现形式 """ 模块的四种表现形式 1.用python语言编写的...,但还是尽量不要产生这个问题,设计的时候尽量避免 __name__ 文件是被导入还是被执行的判断方法 意义所在参考文章 python文件的两种用途 # 当文件被当做执行文件执行的时候__name__打印的结果是... m1.py 的时候执行到了 import m2 这句代码,而在 run.py 的目录下去找 m2 模块又找不到了 (注意这个搜索起点的转变) 相对导入与绝对导入 # 一定要搞清楚谁是执行文件,谁是被导入文件...相对导入只能在被导入的模块中使用,使用相对导入,就不需要考虑执行文件到底是谁,只需要知道模块与模块之间的路径关系 '''   相对导入的相对是针对执行文件而言的,不是以被导入的文件为基准 软件开发目录规范...软件基本目录结构 ?

    1.1K50

    Python 导入模块

    本文内容:Python 导入模块 更多内容请见 Python 入门基础专栏 Python 字符串 Python 常用字符串方法 ---- Python 导入模块 1.import 模块名 2.import...Python 本身自带了一些常用的模块,例如,math模块中具有较为复杂的求解正弦、余弦和平方根等运算,这些模块不需要安装,但是在使用前需要导入。...导入模块使用 import 关键字,Python导入模块有不同的方法: ---- 1.import 模块名 导入整个模块: import math math.sqrt(64) ---- 2....import 模块名 as 名称缩写 导入整个模块的同时给该模块取个较短的别名: import numpy as np np.sqrt(64) 3.import 模块名.子模块名 as 名称缩写...导入某个模块子模块的同时给该子模块取个较短的别名: import matplotlib.pyplot as plt 4.from 模块名 import 函数 导入模块中指定函数: from

    1.3K20

    Python的绝对导入和相对导入

    Python 相对导入与绝对导入,这两个概念是相对于包内导入而言的。包内导入即是包内的模块导入包内部的模块。...Python import 的搜索路径在当前目录下搜索该模块在环境变量 PYTHONPATH 中指定的路径列表中依次搜索在 Python 安装路径的 lib 库中搜索Python import 的步骤python...所谓的包,就是包含 __init__.py 文件的目录,该文件在包导入时会被首先执行,该文件可以为空,也可以在其中加入任意合法的 Python 代码。相对导入可以避免硬编码,对于包的维护是友好的。...有人可能会问:假如有两个模块 a.py 和 b.py 放在同一个目录下,为什么能在 b.py 中 import a 呢?...这是因为这两个文件所在的目录不是一个包,那么每一个 python 文件都是一个独立的、可以直接被其他模块导入的模块,就像你导入标准库一样,它们不存在相对导入和绝对导入的问题。

    4.3K21

    python 删除文件、目录_python如何删除文件、目录

    本文讲述了python实现删除文件与目录的方法。分享给大家供大家参考。具体实现方法如下: os.remove(path) 删除文件 path. 如果path是一个目录, 抛出 OSError错误。.../user/local/bin/python2.7 # -*- coding:utf-8 -*- import os my_file = ‘D:/text.txt’ if os.path.exists(...for name in dirs: os.rmdir(os.path.join(root, name)) 方法2: 代码如下 import shutil shutil.rmtree() 实例扩展: Python.../usr/bin/python # -*- coding: UTF-8 -*- import os, sys # 列出目录 print “目录为: %s” %os.listdir(os.getcwd()...,’resume.doc’] 删除后的目录为 : [ ‘a1.txt’,’resume.doc’ ] 到此这篇关于python如何删除文件、目录的文章就介绍到这了,更多相关python删除文件、目录的方法内容请搜索聚米学院以前的文章或继续浏览下面的相关文章希望大家以后多多支持聚米学院

    5.3K20

    Python】模块导入 ② ( 模块导入语法 | 导入完整模块 | import 导入完整模块 | from 导入完整模块 )

    一、导入完整模块 - import 导入完整模块 1、import 导入完整模块 使用 import 导入完整的 Python 模块 : import module_name import module_name1...() 调用 time 模块中的功能 ; 在导入模块的代码中 , 按住 ctrl 键 , 将鼠标移动到 time 模块代码上 , 会提示该模块对应的 Python 代码文件是 time.py ; 按住...\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py 开始执行 结束执行 Process finished with...("开始执行") # 调用模块方法 模块名.功能名() # 使用时间模块的 sleep 休眠功能 sleep(3) print("结束执行") 执行结果 : D:\001_Develop\022_Python...\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py 开始执行 结束执行 Process finished with

    23110
    领券