如何从控制台运行python脚本,就像从命令提示符调用一样?

时间:2014-05-21 12:45:02

标签: python cmd console ipython spyder

我将使用的python脚本(源代码here)将在从命令行调用时解析一些参数。但是,我无法访问我的环境中的Windows命令提示符(cmd.exe)。我可以在Python控制台中调用相同的脚本吗?我宁愿不重写脚本本身。

3 个答案:

答案 0 :(得分:1)

%run是IPython中的一个魔术,它在IPython中运行一个命名文件,程序几乎就像从shell运行该文件一样。引自%run?引用%run file args

这类似于在系统提示符python file args上运行, 但具有为您提供IPython的追溯的优势 将所有变量加载到交互式命名空间中以供进一步使 (除非使用-p,见下文)。 (结束语)

唯一的缺点是要运行的文件必须位于当前工作目录中或PYTHONPATH的某个位置。 %run不会搜索$PATH

%run会从%run?中了解您可以了解的几个选项。例如:-p在分析器下运行。

答案 1 :(得分:0)

您想要生成一个新的子流程。

有一个模块:subprocess

<强>示例:

基本:

import sys
from subprocess import Popen


p = Popen(sys.executable, "C:\test.py")

获取子流程的输出:

import sys
from subprocess import Popen, PIPE


p = Popen(sys.executable, "C:\test.py", stdout=PIPE)
stdout = p.stdout
print stdout.read()

有关详细信息,请参阅subprocess API文档。

答案 2 :(得分:0)

如果您可以进行系统调用,则可以使用:

import os
os.system("importer.py arguments_go_here")