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