【发布时间】:2015-11-19 15:00:03
【问题描述】:
我知道如何从 Python 启动 Stata。这里我有个小程序
def dostata(dofile, *params):
## Launch a do-file, given the fullpath to the do-file
## and a list of parameters.
cmd = ["C:\Program Files (x86)\Stata13\StataMP-64.exe", "do", dofile]
for param in params:
cmd.append(param)
a = subprocess.Popen(cmd, shell=True)
path = "C:/My/do/file/dir/"
filename = "try.do"
dostata(path + filename, model, "1", "")
这或多或少是有效的。但这并不能保证 Stata 程序会成功完成。如何从 Stata 获得一些反馈给 Python,说“已成功完成”?
【问题讨论】:
-
我对 Python 编程还不是很好,所以我不能肯定。如果不可能,我建议将 Stata 输出写入纯文本日志文件,然后在 Python 中扫描该文档以查找错误或返回代码。您可以为此使用正则表达式并搜索 r([0-9]);或类似的东西,以查找 Stata 输出是否包含错误。