2012-03-05 51 views
2

我正在學Python。有兩種在終端中運行python的方法。運行python程序的兩種方式

一個是 python xx.py
另一./xx.py

第一種方式對我的作品,但是當我試圖用第二個選項來運行,我得到

-bash: ./hello.py: Permission denied 

我可以運行Python程序這種或那種方式,但我真的想知道爲什麼,以及應該使用什麼命令來授予使用此權限的權限./

謝謝!

+0

如果您的腳本名稱爲'__main __ py'你也可以調用該腳本使用'python。/' – 2012-03-05 19:14:41

+0

雖然有點深奧,但這是有用的瑣事。我曾經使用類似的方法來'打破'到一個嵌入式Python解釋器中。當python確實是'導入'時,它會檢查PYTHONPATH和sys.paths中的每個路徑來加載一個程序。)所以,如果你有一個嵌入Python實例,你可以在你的CWD或site.py中放入類似'__main __。py'的東西,它會覆蓋嵌入實例正在尋找的任何東西。 – synthesizerpatel 2012-03-05 19:19:43

回答

6

爲了可執行,腳本必須通過chmod:chmod +x filename.py等授予執行權限。

+0

腳本也必須是chmod'd + r,這樣執行程序纔可以閱讀他們.. – synthesizerpatel 2012-03-06 01:17:42

2

這或許應該被遷移到unix.stackexchange.com

你需要確保它有正確設置權限,文件模式755 hello.py

對於解釋腳本,你需要的不僅是可執行文件,但可讀,以便腳本解釋器可以讀取程序。

1

您需要在文件上使用change permissions以允許其可執行。在bash中:

chmod +755 ./xx.py 

然後./xx.py會工作。如果沒有,您需要確保您正確使用shebang

1

首先授予「執行」權限的文件

$ chmod +x filename.py 

然後你就可以運行該腳本:

$ ./filename.py