首页 > 解决方案 > 为什么 __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

在此处输入图像描述

标签: python

解决方案


推荐阅读