Python 得到论点

Python 得到论点,python,Python,当我运行以下代码行时:python 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发行版,

当我运行以下代码行时:python 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用户。您可以查看此博客:

而无需显式使用python,是吗?您正在编写Python脚本。这意味着什么?你能分享更多的源文件吗?我无法用您提供的代码重现您所谈论的问题。这都是我的代码。我想在不显式使用python的情况下获取参数?我复制粘贴了您的代码,它在使用python 3.6的Windows 10上对我有效-也许您以一种奇怪的方式为.py文件设置了默认应用程序,以覆盖参数?可能与我使用的Windows重复os@DuduArbel在回答问题时,这是一件非常重要的事情Python的问题。我查了一下,Windows没有看shebang。我不知道如何在Windows上这样做。也许这个问题可以帮助: