相当于Python中R的source()

Dev*_*esh 11 python execute

就像我们在R studio 中的另一个程序中source()执行R程序的功能一样R,如何在另一个python程序中执行python程序?

Ido*_*dos 5

给定2个python脚本:first.pysecond.py,从第二个脚本执行第一个脚本的通常方法如下:

first.py:

def func1():
    print 'inside func1 in first.py'

if __name__ == '__main__':
    # first.py executed as a script
    func1()
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

编辑

  • 如果愿意,也可以简化操作execfile("second.py")(尽管它仅在调用名称空间中)。
  • 而最终的选择是使用os.system像这样:
    os.system("second.py")

  • 我发现`execfile`与R的`source`最相似 (2认同)