繁体   English   中英

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

[英]how to run python script from the console as if called from command prompt?

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

%run是IPython中的一种魔力,它可以像在shell中运行该文件一样,在IPython中将一个命名文件作为程序运行。 引用%run? 指的是%run file args

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

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

%run有几种选项,您可以从%run?了解到%run? 例如-p在分析器下运行。

您想产生一个新的子流程。

有一个用于此的模块: 子流程

例子:

基础:

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()

有关更多详细信息,请参见子流程 API文档。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM