Python中文
首页
教程
问答
标签
搜索
登录
注册
如何从Python启动命令窗口
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我想在Windows上使用Python 2.6来启动几个单独的命令窗口,每个窗口都运行自己的Python脚本。目的是:这些是客户机,我正试图用来自多个准独立客户机的请求加载服务器。</p> <p>在运行期间或运行之后,我不需要与客户机通信,但我需要向每个客户机发送不同的命令行arg,并且我希望每个客户机的输出在其自己的“控制台”中滚动。</p> <p>在DOS命令行中,“start”命令执行我想要的操作。我可以:</p> <pre><code>start perf_test.py 2 </code></pre> <p>或者</p> <pre><code>start cmd /c perf_test.py 3 </code></pre> <p>或者</p> <pre><code>start cmd /c python perf_test.py 4 </code></pre> <p>(如果您的*.py文件的“文件关联”设置正确,这些设置将对您有效。如果你需要帮助,还有其他线索。或者,使用python exe和/或脚本的完整路径。)</p> <p>我的挑战是:如何从Python获得相同的效果?</p> <p>使用<code>subprocess</code>库,我尝试了如下变体:</p> <pre><code>from subprocess import * p = Popen(["perf_test.py", "4"], shell=True, stdin=PIPE) </code></pre> <p>但即使使用<code>shell=True</code>,输出也会在我已经运行的窗口中混合。添加<code>stdout=PIPE</code>可以停止此操作,但随后我必须读取<code>p.stdout</code>或使用<code>p.communicate()</code>。在Popen中添加“cmd”得到的结果大致相同:</p> <pre><code>p = Popen(["cmd", "/c", "perf_test.py", "4"], shell=True, stdin=PIPE) </code></pre> <p>以上这些都没有达到我想要的效果,即:“<strong>弹出此脚本的一个新的、不同的窗口,并在其自己的控制台中查看其输出滚动</strong>”(因为我真的想并行运行其中的N个客户端)。</p> <p>另一件事我转向<em>几乎</em>也行。</p> <pre><code>import os os.startfile("perf_test.py") </code></pre> <p>这将立即返回,并弹出一个实际的剂量箱。耶!成功!也就是说,直到我试图添加一个参数。这失败了:</p> <pre><code>os.startfile("perf_test.py 5") </code></pre> <p>出现错误“系统找不到指定的文件”。。。因为它正在文件名中添加“[SPACE]5”。(参数的目的是每个“perf_test”都需要有一个分配的ID,以便它们作为不同的实例到达服务器。)</p> <p>我考虑过的其他方法,但由于种种原因,我确实不喜欢:</p> <ul> <li>在自己的线程中运行每个“性能测试”。(但我真的想在自己的控制台中看到每个输出。)</li> <li>用Tk制作我自己的伪控制台。(图中我只会遇到不同的线程问题。)</li> <li>动态地动态地编写一个.BAT文件,其中包含“start perf_test.py 1”、“start perf_test.py 2”等行,然后使用<code>Popen</code>或<code>startfile</code>启动该.BAT文件。</li> </ul> <p>我希望最后一个会有用。。。如果我不能让Python脚本直接执行,我想这是我最后的选择了。</p> <p>感谢您的输入/见解!</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您可以使用:</p> <pre><code>import os os.system("start python perf_test.py 5") </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
为什么我的神经网络模型的准确性不能在这个训练集上得到提高?
4 回答
为什么我的神经网络模型的权重变化不大?
7 回答
为什么我的神经网络的成本不断增加?
9 回答
为什么我的神经网络的输入pickle文件是19GB?
5 回答
为什么我的神经网络给属性错误?“非类型”对象没有属性“形状”
10 回答
为什么我的神经网络训练这么慢?
7 回答
为什么我的神经网络输出错误?
3 回答
为什么我的神经网络预测适用于MNIST手绘图像时是正确的,而适用于我自己的手绘图像时是不正确的?
7 回答
为什么我的神经网络验证精度比我的训练精度高,而且它们都是常数?
5 回答
为什么我的私人用户间聊天会显示在其他用户的聊天档案中?
4 回答
为什么我的积分的绝对误差估计值大于积分(使用scipy.integrate.nqad)?
5 回答
为什么我的积层回归器得分比它的组件差?
6 回答
为什么我的移动方法不起作用?
3 回答
为什么我的稀疏张量不能转换成张量
10 回答
为什么我的稀疏张量不能转换成张量?
3 回答
为什么我的程序“停止”了?
5 回答
为什么我的程序一直试图占用所有可用的CPU
5 回答
为什么我的程序不使用指定的代理
6 回答
为什么我的程序不工作(python帮助中的反向函数)?
4 回答
为什么我的程序不工作时,我使用多处理模块
2 回答