如何在没有py扩展名的情况下运行python文件

Shi*_*dla 8 python executable

我有一个小的python脚本,它从命令行参数获取输入,并使用所做的输入完成一些操作并显示结果

下面是工作示例代码

some_file.py

import sys

arguments = sys.argv
first_name  = sys.argv[1]
second_name = sys.argv[2]

print "Hello {0} {1} !!!!".format(first_name,second_name)
Run Code Online (Sandbox Code Playgroud)

现在我正在执行这个

python some_file.py Steve jobs
Run Code Online (Sandbox Code Playgroud)

结果:

Hello Steve Jobs !!!!
Run Code Online (Sandbox Code Playgroud)

现在我想要的是,我不想在文件名和python文件名的扩展名之前使用python命令,也就是说我想将文件作为命令工具运行,如下所示

some_file  Steve Jobs
Run Code Online (Sandbox Code Playgroud)

那么为了运行如上所述的python文件该怎么办?

Bla*_*ear 5

类似于Unix的OS解决方案:文件的第一行应该是#!/usr/bin/python(或python解释器所在的位置)和chmod u+x脚本。使用运行它./some_file parameters

如果您想使用 some_file parameters只需在指向PATH:的目录中建立指向脚本的链接即可sudo ln -s some_file /usr/bin

因此,这是完整的过程:

blackbear@blackbear-laptop:~$ cat > hw
#!/usr/bin/python

print "Hello World!"

blackbear@blackbear-laptop:~$ chmod u+x hw
blackbear@blackbear-laptop:~$ sudo ln -s hw /usr/bin
blackbear@blackbear-laptop:~$ hw
Hello World!
blackbear@blackbear-laptop:~$ 
Run Code Online (Sandbox Code Playgroud)


小智 5

建立符号链接

ln -s some_file.py some_file
Run Code Online (Sandbox Code Playgroud)

现在你可以像这样输入你的cmd:

some_file Steve Jobs
Run Code Online (Sandbox Code Playgroud)