Python中的新模块

问题描述

我试图用Python创建一个新模块。它是git链接https://github.com/Sanmitha-Sadhishkumar/strman 使用pip上传并安装该模块后,我发现我可以通过以下方式访问该模块

import strman.strman as s
s.func_name

要对其进行访问需要进行哪些更改

import strman
strman.func_name

解决方法

您要在__init__.py文件中使用相对导入。

from .strman import *

您有一个strman包(外部目录),并且其中有一个strman模块(strman.py文件)。这是一个非常普遍的模式。但是如果没有相对导入,您的__init__.py就无法从层次结构的足够深的位置导入。

更一般而言,每当从项目中的同级模块导入时,几乎总是应该使用相对导入,因为它是显式的,并且避免了各种复杂的情况,例如您的案例。

,

您必须将文件移动到主目录中。您的目录如下所示:

\myProject
    - init.py
    - strman.py
    - main.py # <-- this would be the file your programming is

docs

中了解有关模块的更多信息