python - 调用函数而不导入同一目录中的其他文件函数
问题描述
我想从 im2.py 调用 im1.py 的 want_to_call() 方法测试的类 func1() 和 func1() 将被 im1 的 some_func() 方法调用....您的帮助将不胜感激。
im1.py
from im2 import Test
def some_func(value):
Test.func1()
print(value)
def want_to_call():
return 'called from im2'
some_func("ola")
im2.py
from im1 import want_to_call
class Test:
def func1():
variable = want_to_call()
print(variable)
print('How do I call want_to_call method in im1')
class Test1:
def func():
print('Thanks in advance')
解决方案
不要那样做。
“仅导入模块”的建议有效(如何避免 Python 中的循环导入?)。但是您最好将您的函数放入更多按层次结构排列的文件中。换句话说,打破循环。它将有益于您的代码组织和单元测试,以及您如何看待您的高级问题。
want_to_call()
在这里,和的定义func1()
属于附加文件,其中包括 im1 和 im2 import
。
测试应该依赖于目标代码,而不是相反。
推荐阅读
- python - 遍历文件但跳过子目录
- r - Rmakrdown 不使用最新版本的包函数来生成 github markdown (md) 文件?
- video - A-Frame 并动态添加视频
- java - 将 Java 源文件编译为本机代码
- python-3.x - 使用 ray 进行最近邻搜索的并行化
- javascript - 将 FileReader base64 存储为变量?
- k-means - 使用 Kmeans 初始化 EM-Algorithm
- c# - 我需要从确定性构建中存储 PDB 文件吗?
- python - 展开并将 1D numpy 数组复制到 3D
- video - 为什么ffmpeg输出以0001而不是0000开头的帧?