美文网首页
使python文件像Shell脚本一样直接执行

使python文件像Shell脚本一样直接执行

作者: 多问Why | 来源:发表于2018-12-26 16:08 被阅读0次

    比如我们有一个python文件temp.py。

    print(1+1)
    

    通常我们这样执行它python3 temp.py
    假如有一个shell脚本temp.sh,它有执行权限后可以用./temp.sh来执行。

    如何使./temp.py也能正确执行呢?

    #!/usr/bin/env python3
    print(1+1)
    

    在文件头部加上一行注释,再用chmod +x temp.py给文件执行权限就可以了。
    这样我们运行./temp.py就如同运行/usr/bin/env python3 temp.py

    那/usr/bin/env python3是什么意思呢?

    /usr/bin/env是系统自带的一个程序,它的作用是在当前用户的执行环境中,通常也就是PATH指定的目录中,寻找指定的程序,一旦找到第一个就停止寻找。所以执行./temp.py后,/usr/bin/env在PATH中寻找名字为python3的程序,找到后就用它来运行temp.py这个文件。

    如何明确指定python程序位置?

    #!/usr/bin/python3
    print(1+1)
    

    这样就直接用/usr/bin/python3这个程序来执行这个文件,不用事先在环境变量中搜寻python的位置了。
    而在命令行中直接运行python3 temp.py与第一种写法效果相同。
    直接运行/usr/bin/python3 temp.py与第二种写法相同。

    相关文章

      网友评论

          本文标题:使python文件像Shell脚本一样直接执行

          本文链接:https://www.haomeiwen.com/subject/ylihlqtx.html