2016-09-23 96 views
0

我读了你可以执行使用import这样
file.py文件:如何使用导入的参数在Python中执行文件?

#!/usr/bin/env python 
import file2 

file2.py

#!/usr/bin/env python 
print "Hello World!" 

而且file.py将打印Hello World。我如何使用参数import来执行这个文件?

+0

http://stackoverflow.com/questions/20309456/how-to-call-a-function-from-another-file-in-python – LaneL

+0

http://stackoverflow.com/a/3781960/391161 – merlin2011

回答

1

程序参数可在sys.argv中找到,并可供任何模块使用。你可以file2.py改变

import sys 
print "Here are my arguments", sys.argv 

可以使用argparse模块更复杂的分析。

+0

他不希望从终端接收参数。他想通过“进口”声明发送给他们。 – Bharel

+0

@Bharel OP从未声明参数来自哪里或者它们在* file2.py *中如何被使用。他当然没有说他们不是标准的程序参数。 – tdelaney

+0

@tdelaney对不起,显然我的指示还不够清楚。但是,如果可能的话,我想**使用导入执行**文件。 – baranskistad

1

导入并不意味着执行脚本。它用于获取或“导入”它包含的函数,类和属性。

如果您希望使用不同的解释器执行脚本并为其提供参数,则应使用subprocess.run()


在Python 2,如果你需要的程序输出你可以使用subprocess.call()subprocess.check_output()

+0

是的和不。如果你安装了一个软件包,模块不在系统'PATH'中,它的常见做法是在'PATH'中包含帮助脚本来运行它们。另外,这种导入技术可以让你在目标脚本运行之前摆弄系统环境。 – tdelaney

+0

我使用2.7,有没有办法在2.7中做到这一点?或者我需要升级到3.x? – baranskistad

+0

针对Python 2添加了@bjskistad。 – Bharel

相关问题