考虑一个python脚本:
####
#Do some stuff#
####
#Do stuff from separate file
####
#Do other stuff
实现中间位的最佳方法是什么(做另一个文件中定义的东西)?我被告知在C ++中有一个命令可以实现我想要做的事情。 Python中是否有等价物?
e.g。如果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.
非常感谢的想法和提示。
答案 0 :(得分:1)
我认为这不是一个好的编程习惯,但你可以使用execfile来执行另一个文件中的所有代码。
#a.py
a = a + 5
#b.py
a = 10
execfile("a.py")
print a
如果您运行b.py
,则会打印'15'。
答案 1 :(得分:0)
执行此操作的方法是将代码放在函数中的b中,然后从:
导入它# b.py
def foo():
print 'b'
print 'c'
print 'd'
# a.py
import b
print 'a'
b.foo()
print 'm'