栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从Go调用Python函数并获取函数返回值

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从Go调用Python函数并获取函数返回值

通过删除命令本身周围的引号,我设法获得了一些有效的代码:

package mainimport "fmt"import "os/exec"func main() {    cmd := exec.Command("python",  "-c", "import pythonfile; print pythonfile.cat_strings('foo', 'bar')")    fmt.Println(cmd.Args)    out, err := cmd.CombinedOutput()    if err != nil { fmt.Println(err); }    fmt.Println(string(out))}

可以肯定的是,在源代码中,您具有此功能(至少对于Windows,我不知道该功能是否适用于其他操作系统):

// EscapeArg rewrites command line argument s as prescribed// in http://msdn.microsoft.com/en-us/library/ms880421.// This function returns "" (2 double quotes) if s is empty.// Alternatively, these transformations are done:// - every back slash () is doubled, but only if immediately//   followed by double quote (");// - every double quote (") is escaped by back slash ();// - finally, s is wrapped with double quotes (arg -> "arg"),//   but only if there is space or tab inside s.func EscapeArg(s string) string { ...

因此,您的代码最终将通过以下命令行调用:

$ python -c "'import pythonfile; print pythonfile.cat_strings(\"foo\", \"bar\")'"

如果经过测试,则结果为字符串,不返回任何内容,因此输出长度为0。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/452307.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号