python - 为什么 __init__.py 中定义的函数在该包的 python 文件中不可见?
问题描述
在__init__.py
:
def tp(msg,o=None):
import datetime
omsg = ": %s" %repr(o) if o is not None else ""
dtf = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print(f"[{dtf}] {msg}{omsg}")
在.py
同一目录 (/package ?) 中的文件中:
Traceback (most recent call last):
File "/git/bluej/python/pointr/bluej/fusion/json_generators.py", line 243, in <module>
tp('Running human-in-loop tests ..')
NameError: name 'tp' is not defined
__init__.py
如果同一包中的文件甚至看不到内容,那有什么意义呢?
RE:链接的问题和答案。它/他们实际上并没有在这里解决我的问题。
更新 我学会了如何在module
内部运行脚本pycharm
,这主要解决了这个问题。现在tp()
运行:但仍然需要这样做
from . import tp
解决方案
推荐阅读
- r - 获取 R 中基因名称列表的基因 ID
- google-analytics - AnonymizeIp 和 IP 过滤器
- java - Logstash JDBC 插件 - 并非所有从 oracle 进入 elasticsearch 的字段
- reactjs - 使用 react-redux 正确映射 stateToProps
- vba - VBA - 字典通过一个包含两个值的工作表,计算这两个值,然后用分隔符分割这些值
- typescript - Typescript 错误:错误 TS2705:ES5/ES3 中的异步函数或方法需要“Promise”构造函数。
- python - 验证 Python 中的种子文件是否有效?
- yii2 - 如何使用 Yii2 在课程注册门户中显示复选框列表
- javascript - 使用新用户登录时旧会话不会被破坏
- java - Jackson XML 映射器属性序列化问题