python stata交互

python 和 python: 有所区别:
python (不带冒号) 遇到错误会保留在 Python 环境。
python: (带冒号) 遇到错误时会回到 Stata 环境。
Python 部分的代码写完之后,输入 end 退出 Python 环境。但输入 end 只是退出 Python 环境,Python 环境并没有清除,下次输入 python 或者 python: 时会保留上次运行所产生的对象因为交互式产生的所有对象都储存在 __main__ 的命名空间内,退出 Python 环境再回来可以继续使用。在 Stata 中,可以通过 python describe, python drop 和 python clear 管理这些对象。

在 Python 脚本中,可以通过调用 sfi (Stata Function Interface) 包中的 stata() 函数运行 Stata 的代码。

也可以将 Python 代码嵌于 Stata 的 do-file 或 ado-file 中,如下例,只要在 Stata 代码中声明 python 或 python: ,就会进入 Python 环境,遇见 end 则会退出。嵌入代码其实和窗口交互的本质是相同的:当遇见 python 或 python: 时,会进入 python 交互环境,进而逐行执行 Python 代码,直到遇见 end 才跳出 Python 环境返回到 Stata 。同时, Python 环境下产生的对象都被存在了 __main__ 的命名空间内,可以供 Python 或者 Stata 后续调用。

posted @ 2023-04-16 22:00  myrj  阅读(90)  评论(0编辑  收藏  举报