在Python包中的何处放置共享函数?
我正在创建一个供内部使用的python包&它有一些在其他模块中通用的内部函数。例如,以下功能正在其他模块中使用-在Python包中的何处放置共享函数?,python,python-module,Python,Python Module,我正在创建一个供内部使用的python包&它有一些在其他模块中通用的内部函数。例如,以下功能正在其他模块中使用- def GetLocalImage(WebImage): ImageLink = WebImage.get("data-src") FileName = ImageLink.split("/")[-1] urllib.request.urlretrieve(ImageLink,FileName) return(FileName) 如您所见,函数需要使用urllib。
def GetLocalImage(WebImage):
ImageLink = WebImage.get("data-src")
FileName = ImageLink.split("/")[-1]
urllib.request.urlretrieve(ImageLink,FileName)
return(FileName)
如您所见,函数需要使用urllib
。下面是包的文件结构-
formatter
\ __init__.py
\ File1.py --> It would call GetLocalImage()
\ File2.py --> It would call GetLocalImage()
我的主程序使用来自格式化程序导入的*
语句。我的问题是-我终于明白了。我是这样解决的-
common.py
common.py
中,我导入了urllib.requestFile1.py
和File2.py
中,我像一样从.common导入*
\uuuu init\uuuu.py
文件中,我保存了-我想我们可以跳过
\uuuu init\uuuu.py
文件(不确定)。希望这对将来有帮助。我终于明白了。我是这样解决的-
common.py
common.py
中,我导入了urllib.requestFile1.py
和File2.py
中,我像一样从.common导入*
\uuuu init\uuuu.py
文件中,我保存了-我想我们可以跳过
\uuuu init\uuuu.py
文件(不确定)。希望这对将来的人有所帮助。这项技术看起来简洁明了,但是common.py
中的函数可以作为formatter.my_func
和formatter.common.my_func
导入。这会造成一些混乱,在构建文档时也是如此(例如,使用docstring)。是的,我同意这一点。我需要检查一下,如果我从\uu init\uuuuuuuuuuuuuuupy
中删除的.common import*
,会发生什么情况&只需将其保存在文件1.py
或文件2.py
中,最佳实践似乎避免了从导入的某些内容中
,或者至少,在common.py
的开头,使用\uuu all\uuuu=[“your_DEFINITIONS”]
。这项技术看起来简洁明了,但是common.py
中的函数可以作为formatter.my_func
和formatter.common.my_func>导入。这会造成一些混乱,在构建文档时也是如此(例如,使用docstring)。是的,我同意这一点。我需要检查一下,如果我从\uu init\uuuuuuuuuuuuuuupy
中删除的.common import*
,会发生什么情况&只需将其保存在文件1.py
或文件2.py
中,最佳实践似乎避免了从导入的某些内容中
,或者至少,在common.py的开头,使用\uuuu all\uuuu=[“您的定义”]
。
from .common import *
from .File1 import *
from .File2 import *