0

考虑一个python脚本:

####
#Do some stuff#

####
#Do stuff from separate file

####
#Do other stuff

实现中间位的最佳方法是什么(做在另一个文件中定义的东西)?有人告诉我,在 C++ 中有一个命令可以实现我想要做的事情。Python中是否有等价物?

例如,如果 A.py 是:

print 'a'

### import contents of other file here

print 'm'

B.py 是:

print 'b'
print 'c'
print 'd'

那么 A.py 的期望输出是:

a
b
c
d
m

B.py 实际上不包含打印语句,而是变量赋值和简单的流控制,它们不会与 A.py 中声明或定义的任何内容发生冲突。我知道我可以将 B.py 的内容放入一个函数中,将其导入 A.py 并在所需位置调用此函数。如果我希望 B.py 的内容返回一些单个值,那会很好。但是 B.py 的内容可能包含例如 20 个变量赋值。

我想我真正想做的不是在 A.py 中执行 B.py 的内容,而是动态修改 A.Py 以在 A.py 中的某个所需行包含 B 的内容。 py。然后,显然,执行更新的 A.py。

非常感谢您的想法和提示。

4

2 回答 2

1

我认为这不是一个好的编程习惯,但您可以使用execfile来执行另一个文件中的所有代码。

#a.py
a = a + 5

#b.py
a = 10
execfile("a.py")
print a 

如果你运行b.py它将打印'15'。

于 2012-11-23T14:14:52.300 回答
0

这样做的方法是将您的代码放在函数内的 b 中并从 a 导入:

# b.py
def foo():
    print 'b'
    print 'c'
    print 'd'


# a.py
import b

print 'a'
b.foo()
print 'm'
于 2012-11-23T14:06:43.720 回答