如何将另一种语言的代码转换成Python?

时间:2018-08-15 22:05:28

标签: python regex parsing compilation translate

我想知道如何将Stata代码转换为Python代码。

例如,我的Stata代码如下

if ("`var1'"=="") {
    local l_QS "select distinct CountryName from `l_tableName'"
    ODBCLoad, exec("`l_QS'") dsn("`dsn'") clear

}

我想将其转换为

之类的Python代码
if (f"{var1}"=="") :
    l_QS = f"select distinct CountryName from {l_tableName}"
    SQL_read(f"{l_QS}", dsn = f"{dsn}")

我是编码的新手,所以我不知道计算机科学知识的哪个分支或相关的工具/技术。我想了解有关编译器和/或使用正则表达式的知识可能会有所帮助,因此我将这些标记放在我的问题上。任何高级指针都将受到赞赏,并且特定的代码示例将更好。预先感谢。

1 个答案:

答案 0 :(得分:0)

一个非常简单的解决方法是使用python随附的subprocess模块,然后将基本的命令行包装程序写入脚本以使用其功能,然后从现在开始在python中构建代码。

如果您有很多Stata代码,那么您也可以研究Stata中可能的API功能,并且将其手动转换为python可能要花费很多时间。这将要求您具有访问服务器的权限,并且可能成本很高,但是比子流程模块更干净,并且不需要源代码包含在本地计算机上。另外请注意,Stata可能没有构建API的工具。

据我所知,没有项目可以直接从任何语言解析文件并将其转换为python。这将是一个巨大的项目,尽管可能通过机器学习或AI进行,尽管仍然很困难。有一些库可以用C和C ++包装代码(其他的库也可以,我敢肯定我只是知道它们可用),但是我找不到Stata的任何东西。