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

Program to run another through command prompt

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

我不确定为什么会这样,我的意思是,如果没有从提示开始,colorama 就无法工作。

可能是环境变量 PATH 什么的。

这是一个建议,我不确定它是否有效,因为我们不会更改 window 程序在 运行 中,只是调用 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"

如果这不起作用,可以通过 subprocess 模块使用一些技巧来做类似的事情。 此外,您应该查看 cmd.exe 的帮助,看看您是否应该使用除 /C 之外的其他开关来启用环境 and/or 注册表扩展。

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

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

我认为两者都可以,但不知何故你不喜欢这个解决方案。

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

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