当我运行此以下行为:蟒蛇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)
当我运行此以下行为:蟒蛇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)
如果您使用的是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/
我使用Windows操作系统 – DuduArbel
@DuduArbel这是在回答Python问题时提出一个非常重要的事情。 –
我查了一下,Windows不看shebang。 –
“没有明确使用python”咦?您正在编写一个Python脚本。那是什么意思? – DeepSpace
你能分享更多的源文件吗?我无法重现您正在使用您提供的代码讨论的问题。 – Irisshpunk
这是我所有的代码。我想获得参数而不明确使用python? – DuduArbel