獨立執行 python 腳本

  1. 要獨立執行 python 腳本,必須在腳本的第一行宣告使用 python 執行 abc.py,先使用 type 查詢 python 命令儲存位置為 /usr/bin/python:
    pyuser@deyu:~/zzz$ type python
    python is hashed (/usr/bin/python)
    
  2. 在腳本的第一行宣告使用 python 執行 abc.py,由井號及驚嘆號#! 組成的字元組是 shebang (hashbang),其後面接的內容是直譯器指令。
  3. 原先 abc.py 沒有指定直譯器指令,無法獨立執行,要讓其獨立執行必須先宣告 abc.py 是使用 /usr/bin/python 直譯器執行:
    pyuser@deyu:~/zzz$ vi abc.py
    pyuser@deyu:~/zzz$ cat abc.py
    #!/usr/bin/python
    a=4
    b=3
    print(a+b)
    
  4. 執行 abc.py,回應命令找不到,原因為 abc.py 不在 $PATH 變數中的路徑中。
    pyuser@deyu:~/zzz$ abc.py
    bash: abc.py: command not found...
    
  5. 執行 abc.py,回應命令找不到,原因為 abc.py 不在 $PATH 變數中的路徑中。
    pyuser@deyu:~/zzz$ pwd
    
  6. 查看目前的工作路徑
    /home/pyuser/zzz
    
  7. 以完整路徑執行 abc.py,回應拒絕存取。
    pyuser@deyu:~/zzz$ /home/pyuser/zzz/abc.py
    -bash: /home/pyuser/zzz/abc.py: Permission denied
    
  8. 查看 abc.py,沒有可執行的屬性。
    pyuser@deyu:~/zzz$ ll abc.py
    -rw-r--r--. 1 pyuser pyuser 37 Mar 23 10:49 abc.py
    
  9. abc.py 加上可執行屬性。
    pyuser@deyu:~/zzz$ chmod +x abc.py
    pyuser@deyu:~/zzz$ ll abc.py
    -rwxr-xr-x. 1 pyuser pyuser 37 Mar 23 10:49 abc.py
    
  10. 可獨立執行 abc.py 了。
    pyuser@deyu:~/zzz$ /home/pyuser/zzz/abc.py
    7
    pyuser@deyu:~/zzz$ ./abc.py
    7