Python3从以数字开头的目录导入文件

Python3从以数字开头的目录导入文件,python,python-3.x,import,Python,Python 3.x,Import,我试了试答案,但没用,所以我觉得值得再问一个问题。目录布局如下所示: aale/ 2/ 2.py __init__.py 3/ 3.py __init__.py __init__.py 很遗憾,名称无法更改(这是针对硬件问题提供给我们的布局)。我正在尝试从3导入2,但它似乎不起作用。我尝试将importlib用作: two=importlib.import\u模块('2.2')以及 two=importlib

我试了试答案,但没用,所以我觉得值得再问一个问题。目录布局如下所示:

aale/
     2/
       2.py
       __init__.py
     3/
       3.py
       __init__.py
     __init__.py
很遗憾,名称无法更改(这是针对硬件问题提供给我们的布局)。我正在尝试从
3
导入
2
,但它似乎不起作用。我尝试将
importlib
用作:

two=importlib.import\u模块('2.2')
以及
two=importlib.import\u模块('2')

这也不起作用(给出了一个
ModuleNotFoundError:没有名为“2”的模块
error)。如有任何帮助/其他方法,将不胜感激。我正在使用Python 3.6。

您可以使用,即:

相当于:

import 2.2 as two  
import 3.3 as three
这是不可能的


注意事项:

  • 根据《PEP 8造型指南》
  • 程序包模块名称应具有简短的所有小写名称。可以在模块名称中使用下划线 如果情况有所改善 可读性

  • 我已经使用与您的中相同的文件夹结构测试了导入 问题,没有显示错误

  • 参考文献:


  • 假设您的脚本位于
    aale
    目录中,则需要执行以下导入操作:

    two = importlib.import_module('aale.2.2')
    

    您可以使用
    pathlib

    它是基本的:

    from pathlib import Path
    
    
    BASE_LOCATION = Path(__file__).parent
    
    (您可以添加
    .parent
    以访问上面的文件夹,依此类推。)

    编辑

    如果这对您没有帮助,您可以尝试导入weirdimport

    你可以阅读更多关于这方面的内容


    希望这有帮助

    使用链接问题的公认答案时会出现什么错误?@roganjosh same
    ModuleNotFound
    error,我想,
    import\u module
    是一个用于
    \uu import\uuuu
    的包装器,不管你用的是什么IDE?@MosheSlavin我只是在命令行上用
    python3.py
    编辑并运行这个程序,好吧,但这是OP的任务,这并不能解决问题issue@AJwr我没有意识到它是硬件,答案更新了,谢谢。为此,我得到了
    modulenofounderror:No module name'aale'
    我不知道该说什么,我只是测试了你的确切结构。虽然你说你有
    \uuuu init.\uuuu py
    ,但应该是
    \uuuu init.\uuuuuu py
    是的,只是一个输入错误。嗯,我们可能运气不好。对不起,我不知道怎么用这个。在@Stephen的回答中,你说你得到了
    ModuleNotFoundError:没有名为'aale'的模块
    ,因此除了他的解决方案之外,你还可以从pathlib添加路径
    from pathlib import Path
    
    
    BASE_LOCATION = Path(__file__).parent