Python:从其他脚本读取和执行行(或复制它们)?

考虑一下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.

想法和技巧非常赞赏。


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

#a.py
a = a + 5

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

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


做到这一点的方法是将你的代码放在一个函数里面,并从一个:

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


# a.py
import b

print 'a'
b.foo()
print 'm'
链接地址: http://www.djcxy.com/p/54797.html

上一篇: Python: read and execute lines from other script (or copy them in)?

下一篇: How does import keyword in python actually work?