2015-10-18 36 views
-1

我有一个python脚本,我希望从linux终端运行,而不必在开头使用“python”关键字。 例如,我的脚本名称是helloworld.py,它接受来自终端的两个参数。 我要运行该脚本的“HelloWorld”,从终端,而不是“蟒蛇helloworld.py”运行Python脚本作为终端中的系统命令,如linux中的“ls”OS

+0

在'sys.argv'旁边是[argparse](https://docs.python.org/3/library/argparse.html)模块,它是处理参数的更全面的方式。 – Evert

+0

我不关心传递论据。我知道该怎么做。我担心直接从终端在Linux(helloworld)运行我的python脚本像一个命令(例如ls -l)与脚本的名称不是通过使用“python helloworld.py” –

+0

你想要一个哈希砰:把' #!/usr/bin/env python'作为脚本的第一行,并使脚本可执行:'chmod ugo + x script.py'。 – Evert

回答

4

为了使文件的可执行文件,重命名和更改模式的访问权限,如:

$ mv helloworld.py helloworld 
$ chmod +x helloworld 

和编辑文件的第一行是shebang

#!/usr/bin/env python 

至少有三种方式从shell中运行它:

  1. 使用类似./helloworld/path/to/helloworld
  2. 将其移动到一个目录上您PATH,例如/usr/local/bin~/bin
  3. 修改PATH以添加目录,例如, export PATH=$PATH:/to/dir
+0

如果您想在添加到路径变量后不使用./ – Rishav

+0

,请不要忘记将它放在PATH中的某个位置。它以helloworld.py的形式运行,并且为了除去.py,还必须添加“ln -s /path/to/helloworld.py/path/to/helloworld”。现在我可以像helloworld一样运行它。谢谢您的帮助。欣赏它:) –

+0

@NishankSingla你不需要符号链接,你可以重命名脚本:.py扩展名对任何东西都是不必要的,只是方便。 – Evert

相关问题