Python:包含/复制其他脚本的行



考虑 y.py:

def f():
    x = 1
    y = 2

x.py:

from y import f
    f()
    a = x + 1
    b = y + 1

显然 x.py 不起作用,因为 y.f() 没有返回任何内容。那么,我如何处理这样的情况:我想从一个脚本中多行复制到另一个脚本中的某个预定点,最终在执行之前以如下所示 x.py 重新定位?

x = 1
y = 2
a = x + 1
b = y + 1

请注意,这个简单的示例仅包含变量声明。实际上,y.py 将包含变量声明、流控制、类、函数等的混合。

非常感谢您的帮助。

我认为您需要重新考虑您的程序结构。你可以通过使用execfile来做这项工作,但那会很可怕。Python 有命名空间和类是有原因的:你应该使用它们。

你要求的是一个内联机制,一个宏。Python没有这些,这是有充分理由的。你所要求的肯定可以用现有的Python结构来完成,比如函数或类。如果我们要提供帮助,您需要提供更多代码。

根据你的基本示例,考虑如何从"f"函数重构代码,以便"x"和"y"是可以独立调用的独立函数(而不是局部变量),并且可以在"x.py"程序中使用。许多局部变量是一种代码异味,所以我会从重构为更易于管理和独立的元素开始。

最新更新