通过命令提示符运行另一个程序

时间:2016-11-17 14:47:20

标签: python python-3.x colorama

我甚至不确定这个问题是否有问题。 基本上在我的游戏中我使用colorama功能使它看起来不错,但colorama功能只有在你在命令提示符下访问python时才有效,所以我的问题是如何让python程序通过命令提示符运行另一个,这是可行的或不?我已经尝试安装win32,但这是python 2格式,我使用3.4所以我得到语法错误,我不知道如何解决。

1 个答案:

答案 0 :(得分:1)

我不知道为什么会发生这种情况,我的意思是,如果没有从提示开始,colorama就无法正常工作。

也许是环境变量PATH之类的东西。

这是一个建议,我不确定它是否会起作用,因为我们不会更改窗口程序正在运行,只是调用cmd.exe即命令提示符在其中启动并再次启动python和您的脚本。

但值得一试:

# Start of your program:
import sys, os

if "started_with_prompt" not in sys.argv:
    cmd = 'cmd /C "'+sys.executable+' '+" ".join(sys.argv)+' started_with_prompt"'
    os.system(cmd)
    sys.exit()
print "the rest of your program"

如果这不起作用,可以通过子进程模块使用一些技巧来执行类似的操作。 此外,您应该查看cmd.exe的帮助,看看是否应该使用除/ C之外的其他交换机来启用环境和/或注册表扩展。

但实质上,您应该能够通过使用cmd变量中的命令或启动Python的批处理文件创建快捷方式来获得相同的结果。像这样:

@echo off
cmd /C "C:\Python27\python.exe path_to_your_script.py"

我认为两者都有效,但不知怎的,你不喜欢这个解决方案。

好吧,我认为快捷方式需要cmd.exe的完整路径,即:     C:\ Windows \ System32下\ cmd.exe的

如果它不起作用,请告诉我。