2016-12-31 56 views
-2

当我运行此以下行为:蟒蛇MyApp.py ARG1 ARG2 我得到预期的结果:获取参数

['MyApp.py', 'arg1', 'arg2'] 

但是 - 当我运行它为:MyApp.py ARG1 ARG2 我做没有得到的参数:

['MyApp.py'] 

如何猫没有明确使用python获取参数?

#!/usr/bin/python 
import sys 
if __name__ == "__main__": 
    print (sys.argv) 
+2

“没有明确使用python”咦?您正在编写一个Python脚本。那是什么意思? – DeepSpace

+0

你能分享更多的源文件吗?我无法重现您正在使用您提供的代码讨论的问题。 – Irisshpunk

+0

这是我所有的代码。我想获得参数而不明确使用python? – DuduArbel

回答

-1

如果您使用的是Linux发行,打开终端,输入

which python 

你会得到您的默认的Python可执行文件存储的路径。输入此路径作为代码的第一行,使用shebang,即#!。例如,我的路径是:/usr/bin/python,那么我就可以做到以下几点:

#! /usr/bin/python 

import sys 
print sys.argv 

现在,在你的终端,转到该文件的存储目录。假设文件的名称是check.py。使其可执行使用下面的命令:

chmod +x check.py 

现在你可以通过键入运行您的程序:./check.py arg1 arg2,它会执行,因为它应该。

对于Windows,您需要确保Windows正在关联正确的Python可执行文件以执行.py文件。即使它正确关联,有时Windows也会从命令中删除参数。

我不是一个非常沉重的Windows用户。你可以查看这个博客:http://eli.thegreenplace.net/2010/12/14/problem-passing-arguments-to-python-scripts-on-windows/

+0

我使用Windows操作系统 – DuduArbel

+1

@DuduArbel这是在回答Python问题时提出一个非常重要的事情。 –

+0

我查了一下,Windows不看shebang。 –