【发布时间】:2010-09-23 14:52:53
【问题描述】:
我在 Windows 环境中工作(我的笔记本电脑!),我需要几个运行其他程序的脚本,就像一个 Windows 批处理文件。
如何从 python 运行命令,以便程序在运行时替换脚本?该程序是交互式的(例如,统一),并且一直打印行并要求用户输入。
所以,仅仅运行一个程序并打印输出是不够的。该程序必须接管脚本的输入/输出,就像从 .bat 文件运行命令一样。
我尝试了 os.execl 但它一直告诉我“无效参数”,而且它没有找到程序名称(不搜索 PATH 变量);我必须给它完整的路径..?!
基本上,我可以在批处理脚本中编写: 统一配置文件
如何在python中达到同样的效果?
编辑:
我发现可以使用 os.system( ... ) 完成,因为我不能接受自己的答案,所以我要结束这个问题。
编辑:这应该是一个评论,但是当我发布它时,我没有太多积分。
感谢 Claudiu,这几乎就是我想要的,除了一点点:我希望函数在程序退出时结束,但是当我统一尝试时,它不会将控制权返回给 python 脚本,但是到windows命令行环境
>>> os.execlp("unison")
C:\>Usage: unison [options]
or unison root1 root2 [options]
or unison profilename [options]
For a list of options, type "unison -help".
For a tutorial on basic usage, type "unison -doc tutorial".
For other documentation, type "unison -doc topics".
C:\>
C:\>
C:\>
如何解决这个问题?
【问题讨论】:
-
它有助于提供不起作用的脚本。
-
没有必要关闭问题,因为您无法接受您的答案。如果它是投票最多的,它基本上与被接受的相同..有点烦人,诚然,但关闭不是正确的方法,我会说..
标签: python scripting batch-file