Python:读取并执行其他脚本中的行(或将它们复制到)?

Python:读取并执行其他脚本中的行(或将它们复制到)?,python,file,parsing,file-io,import,Python,File,Parsing,File Io,Import,考虑一个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' a b c d m B

考虑一个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'
a
b
c
d
m
B.py是:

print 'b'
print 'c'
print 'd'
那么A.py的期望输出是:

print 'a'

### import contents of other file here

print 'm'
a
b
c
d
m
py实际上并不包含打印语句,而是变量赋值和简单的流控制,它们不会与A.py中声明或定义的任何内容冲突。我知道我可以将B.py的内容放入函数中,将其导入a.py并在所需的位置调用该函数。如果我想让B.py的内容返回某个单一值,那就好了。但是B.py的内容可能包含例如二十个变量赋值

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


非常感谢您的想法和建议

这样做的方法是将代码放在函数的b中,然后从a导入:

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


# a.py
import b

print 'a'
b.foo()
print 'm'

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

#a.py
a = a + 5

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

如果您运行
b.py
它将打印“15”。

谢谢,但是如果您阅读了我的全部问题,b.py实际上不会包含打印语句,它将包含变量赋值(可能有很多变量)或其他声明。因此,从B.py中的函数返回值不是一个选项。事实上,我想要的是能够将我喜欢的任何代码放在B.py中(例如类、方法、导入等等),并且能够简单地将其放到A.py中。A.py会理解的(我会在A.py中处理)