python - 将同一个包导入本地包的多个模块
问题描述
我有一个我正在编写的 Flask 应用程序的本地“模型”包,其中每个模型类都存在于自己的 .py 文件中,并且“模型”目录有一个(当前为空,除了版本信息)__init__.py
文件,因此我可以导入它。
此设置工作正常,但每个模块当前导入 sqlite3 来执行数据库操作。有没有办法使用单个导入语句,例如 in __init__.py
,而不是在每个单独的模块中都需要一个语句?
我创建了一个非常简单的本地包,看看我是否可以让它自己工作,但这不起作用:
package-test/
testpkg/
__init__.py
one.py
其中__init__.py
包含from datetime import date as dt
和one.py
包含:
def sayDate():
return dt.today()
当我从 package-test 目录运行 REPL 时,我from testpkg import one
没问题,但运行one.sayDate()
返回name 'dt' is not defined
.
保持它更通用,例如在模块的函数定义中做import datetime
in__init__.py
和说,而是返回。return datetime.date.today()
name 'datetime' is not defined
或者有没有更好的方法来避免在多个模块中导入相同的东西?
谢谢!
解决方案
推荐阅读
- json - 如何使用 kubectl 在部署中修补容器环境变量?
- python - 如何使用pdfpages将数据框添加到pdf文件
- c# - 如何让每个客户端都知道连接到同一 UDP 网络的所有其他客户端?
- flutter - 如何从定位小部件中的图像偏移,这比 Flutter 中的设备大
- mongodb - Mongodb:ACCESS [main] error opening file: /mongo/key.txt: bad file
- ubuntu - ActiveMQs 不会在彼此之间复制消息
- java - 如何从一个 jButtonActionPerformed 访问一个变量到另一个 jButtonActionPerformed
- google-analytics - 如何立即检查创建的 GTM 标签是否在 Google Analytics 中被跟踪?
- c# - 如何使用 C# 使用 Microsoft BOT Framework V4 模板在聊天窗口中显示带有选项和按钮的 HTML 表格?
- amazon-web-services - 如何在将文件上传到亚马逊 s3 时显示进度条?