gpt4 book ai didi

python - 如何从 Python 执行 VS2008 命令并获取其输出?

转载 作者:太空狗 更新时间:2023-10-30 02:50:31 26 4
gpt4 key购买 nike

我想运行

tf changeset 12345

使用 Visual Studio 2008 命令工具。它位于:"c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\" 启动的命令是:%comspec%/k ""c:\程序文件 (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat""x86

我想以某种方式将“tf changeset 12345”附加到它,并将它保存到一个字符串中,而不首先将它重定向到一个文件。我注意到当我简单地从命令行调用它时,我会在键入时获得 GUI:

tf changeset 12345

当我这样做时,我得到了文本输出:

tf changeset 12345 > out.txt

我不喜欢在文件系统上创建文件,但希望以“Pythonic 方式”读取它。

我看过 os.system()、subprocess 的简短示例,但它们似乎都没有说明如何做我想做的事情:

  1. 从特定目录运行进程(最好不使用 chdir)
  2. 执行包含环境变量 + 自定义文本的命令。
  3. 重定向输出而不创建临时文件。

希望你能帮助我接近我想要的。如果您在 VS2008 或某些其他 Windows 程序上测试该解决方案,将会有所帮助。

谢谢!

最佳答案

process = subprocess.Popen(['tf', 'changeset', '12345'], cwd='c:/somedir', env={'SOMEENVVAR': 'SOMEVALUE', ...}, stdout=subprocess.PIPE)

for line in process.stdout:
print line

process.terminate()

关于python - 如何从 Python 执行 VS2008 命令并获取其输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2258094/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com