先將終端所在路徑切換到python腳本文件的目錄下
然后給腳本文件運行權限,一般755就OK,如果完全是自己的私人電腦,也不做服務器什么的,給777的權限問題也不大(具體權限含義參考chmod指令的介紹,就不贅述了):
chmod 755 ./*.py
然后執行。
如果在腳本內容的開頭已經給出了類似於如下的注釋:
#!/usr/bin/env python
那就可以直接在終端里運行:
./*.py
如果沒有這個注釋
就在終端中執行:
python ./*.py
如果是有圖形界面的腳本
在前面的chmod之后,直接雙擊(KDE桌面是單擊)文件來執行即可
-
追問
-
如果把文件1.py放到tmp文件夾中,如何運行?命令能寫具體一點嗎?腳本內容的開頭有:#!/usr/bin/env python
-
回答
-
那就直接運行(假設你的文件名是A.py):
/tmp/A.py
或先切換目錄,再運行:
cd /tmp
./A.py
如果該文件需要修改跟用戶權限下的一些文件或目錄
就將自身提升為跟用戶權限:
sudo /tmp/A.py
或直接將自身提升為跟用戶再運行:
su root
/tmp/A.py
另:Ubuntu等發行版默認不支持su root的操作,只能用sudo
-
追問
-
把A.py文件放入tmp文件夾中
執行sudo /tmp/A.py 出現如下提示sudo:/tmp/A.py:command not found
執行/tmp/A.py 出現如下提示:-bash:/tmp/A.py:permission denied
使用cd /tmp 然后執行出現提示和上面一樣,不知道是怎么回事,是我哪里弄錯了?
-
回答
-
這樣的話,我知道的一般有兩種情況:
1.
文件開頭沒有執行注釋:#!/usr/bin/env python
但你之前說有這一行
2.
就是沒用chmod
上面說了,最開始要給腳本設置權限
如果電腦是你一個人用,那就chmod 777 /tmp/A.py就好了
如果還有別人用,就給個chmod 755 /tmp/A.py好了
這個chmod和后面提到的哪個sudo兩個都是關於權限的命令,但是是不同的,互相也沒什么關系
簡單點說:chmod的權限是決定誰有權去碰這個腳本(讀、寫、執行),而sudo的權限決定的是這個腳本有權去碰誰。
如果以上兩個都試過了,還是不行,我就無能為力了
確認一下是否正確安裝了python解釋器吧~~
然后嘗試着直接調用python去執行吧:
python /tmp/A.py
類似這樣的命令。當然必要的時候chmod和sudo也是用的。
-
提問者評價
-
還是不行,不知道怎么回事。抽空學一下基本的linux,謝謝先