就像在R Studio中我们有source()
函数来执行另一个R程序中的R程序一样,我该如何在一个Python程序中执行另一个Python程序?
first.py
和second.py
,从第二个脚本执行第一个脚本的常规方法大致如下:
first.py:
def func1():
print 'inside func1 in first.py'
if __name__ == '__main__':
# first.py executed as a script
func1()
second.py:
import first
def second_func():
print 'inside second_func in second.py'
if __name__ == '__main__':
# second.py executed as a script
second_func()
first.func1() # executing a function from first.py
编辑:
execfile(“second.py”)
(尽管它仅在调用命名空间内)。os.system
,如下所示:os.system(“second.py”)
。execfile
与R语言中的source
最相似。 - vpipktsource()
函数一样执行另一个Python脚本,就好像它在第一个脚本中一样。这个问题也很有帮助。 - mickeysitecustomize
包中的runfile()
,以便包含的脚本在其自己的命名空间中运行。在我的情况下,这个特性非常重要,因为从包含的脚本中,我需要访问__file__
属性,当使用execfile()
时,它解析为_调用_脚本的文件名!(对我来说没有用,因为在包含的脚本内部,我需要检索它的目录位置) - mastropiimport requests
exec(requests.get('http://github.myorg.net/raw/repo/directory/file.py').text)
免责声明:我是一个使用R语言的用户,正在学习Python,因此可能违反了一些Python最佳实践。