# 可執行的Python程序
這部分內容只對Linux/Unix用戶適用,不過Windows用戶可能也對程序的第一行比較好奇。首先我們需要通過**chmod**命令,給程序可執行的許可,然后 運行 程序。
```
$ chmod a+x helloworld.py
$ ./helloworld.py
Hello World
```
chmod命令用來 改變 文件的 模式 ,給系統中所有用戶這個源文件的執行許可。然后我們可以直接通過指定源文件的位置來執行程序。我們使用./來指示程序位于當前目錄。
為了更加有趣一些,你可以把你的文件名改成僅僅`helloworld`,然后運行**./helloworld**。這樣,這個程序仍然可以工作,因為系統知道它必須用源文件第一行指定的那個解釋器來運行程序。
只要知道程序的確切位置,你現在就可以運行程序了——但是如果你希望你的程序能夠從各個位置運行呢?那樣的話,你可以把你的程序保存在PATH環境變量中的目錄之一。每當你運行任何程序,系統會查找列在PATH環境變量中的各個目錄。然后運行那個程序。你只要簡單地把這個源文件復制到PATH所列目錄之一就可以使你的程序在任何位置都可用了。
```
$ echo $PATH
/opt/mono/bin/:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/swaroop/bin
$ cp helloworld.py /home/swaroop/bin/helloworld
$ helloworld
Hello World
```
我們能夠用**echo**命令來顯示PATH變量,用$給變量名加前綴以向shell表示我們需要這個變量的值。我們看到`/home/swaroop/bin`是PATH變量中的目錄之一。**swaroop**是我的系統中使用的用戶名。通常,在你的系統中也會有一個相似的目錄。你也可以把你選擇的目錄添加到PATH變量中去——這可以通過運行**PATH=$PATH:/home/swaroop/mydir**完成,其中“`/home/swaroop/mydir`”是我想要添加到PATH變量中的目錄。
當你想要在任何時間、任何地方運行你的程序的時候,這個方法十分有用。它就好像創造你自己的指令,如同**cd**或其他Linux終端或DOS提示符命令那樣。
提示
對于Python來說,程序、腳本或者軟件都是指同一個東西。
- 版權信息
- 前言
- 本書的由來
- 本書目前的狀況
- 約定條款
- 反饋
- 值得思考的一些東西
- 第1章 介紹
- Python的特色
- 為什么不使用Perl?
- 程序員的話
- 第2章 安裝Python
- Windows?用戶
- 概括
- 第3章 最初的步驟
- 使用帶提示符的解釋器
- 挑選一個編輯器
- 使用源文件
- 可執行的Python程序
- 獲取幫助
- 概括
- 第4章 基本概念
- 數
- 字符串
- 變量
- 標識符的命名
- 數據類型
- 對象
- 邏輯行與物理行
- 縮進
- 概括
- 第5章 運算符與表達式
- 運算符
- 運算符優先級
- 表達式
- 概括
- 第6章 控制流
- if語句
- while語句
- for循環
- break語句
- continue語句
- 概括
- 第7章 函數
- 函數形參
- 局部變量
- 默認參數值
- 關鍵參數
- return語句
- DocStrings
- 概括
- 第8章 模塊
- 字節編譯的.pyc文件
- from..import語句
- 模塊的name
- 制造你自己的模塊
- dir()函數
- 概括
- 第9章 數據結構
- 列表
- 元組
- 字典
- 序列
- 參考
- 更多字符串的內容
- 概括
- 第10章 解決問題——編寫一個Python腳本
- 解決方案
- 軟件開發過程
- 概括
- 第11章 面向對象的編程
- self
- 類
- 對象的方法
- __init__方法
- 類與對象的方法
- 繼承
- 概括
- 第12章 輸入/輸出
- 儲存器
- 概括
- 第13章 異常
- try..except
- 引發異常
- try..finally
- 概括
- 第14章 Python標準庫
- sys模塊
- os模塊
- 概括
- 第15章 更多Python的內容
- 單語句塊
- 列表綜合
- 在函數中接收元組和列表
- lambda形式
- exec和eval語句
- assert語句
- repr函數
- 概括
- 第16章 接下來學習什么?
- 探索更多內容
- 概括
- 附錄A 自由/開放源碼軟件(FLOSS)
- 附錄B 關于本書
- 關于作者
- 關于譯者
- 關于簡體中文譯本
- 附錄C 修訂記錄
- 術語表