如何从python脚本打开cygwin,执行命令并从文件中的命令行获取数据

时间:2014-09-06 09:59:36

标签: python cygwin ctags

我正在尝试打开一个子进程,以便我可以从python脚本打开cygwin.bat文件。我需要从ctag解析器中提取数据。要提取此数据,我使用以下命令:

 ctags --c-kinds=vf --fields=+SKz -f - Name_of_file

它从命令行的文件中提供变量和函数。 这个数据我必须使用python脚本放入一个文件中。怎么做?

2 个答案:

答案 0 :(得分:0)

我想你只想执行系统命令并读取其输出。我是对的吗?

如果是这样,你可以

os.popen(r'ctags --c-kinds=vf --fields=+SKz -f - Name_of_file').read()

甚至通过将> output.txt附加到您的命令直接将输出流重定向到文件。

如果您的问题是设置cygwin环境并执行脚本,则此问题与Python无关。在这种情况下,您可以尝试创建bat文件或在命令中使用&&运算符来首先设置环境:

os.popen(r'cygwin.bat && ctags --c-kinds=vf --fields=+SKz -f - Name_of_file').read()

答案 1 :(得分:0)

如果您无法切换环境,请在os.popen或os.system或subprocess.Popen中编写命令。打开cygwin - > Python Python_File.py来执行脚本。这应该做。