python - Python - 从模块中仅导入函数
问题描述
我有这两个模块:
foo.py
bar.py
在foo.py
我有一个fn()
声明的函数和一个print('test')
, 在fn()
上下文之外。
在顶部bar.by
,我这样做:
from foo import fn
我可以打电话fn
,但我也打印我不想要的“测试”。
为什么?如何仅导入从另一个模块显式导入的内容?
解决方案
您应该将 foo.py 重组为:
def fn():
# statements
if __name__ == "__main__":
print('test')
现在,当您在其他脚本中从 foo 导入 fn 时,将不会运行打印功能。
推荐阅读
- mysql - 使用另一个表的条件更新时 SQL Update 更新查询错误
- html - HTML5:使用 SVG 路径绘制字母
- javascript - 使用 Vue-Router 发送标头
- python - 从文件中读取数组
- powershell - 如何通过 CMD 或 powershell 停止任务、杀死进程并重新启动任务?
- asp.net-mvc-5 - 我的网站在本地服务器上正常运行但是当它在 azure 上发布并运行时,它给了我这个错误
- sql - SQL 获取最近的日期
- html - 打印网页时格式化错误
- excel - 计算excel vba中命名范围的数量
- python - 使用 POST 时 Python 在正文和参数中发送 XML 时遇到问题