### 導航
- [索引](../genindex.xhtml "總目錄")
- [模塊](../py-modindex.xhtml "Python 模塊索引") |
- [下一頁](unix.xhtml "2. 在Unix平臺中使用Python") |
- [上一頁](index.xhtml "安裝和使用 Python") |
- 
- [Python](https://www.python.org/) ?
- zh\_CN 3.7.3 [文檔](../index.xhtml) ?
- [安裝和使用 Python](index.xhtml) ?
- $('.inline-search').show(0); |
# 1. 命令行與環境
CPython 解析器會掃描命令行與環境用于獲取各種設置信息。
**CPython implementation detail:** 其他實現的命令行方案可能有所不同。 更多相關資源請參閱 [其他實現](../reference/introduction.xhtml#implementations)。
## 1.1. 命令行
對 Python 發起調用時,你可以指定以下的任意選項:
```
python [-bBdEhiIOqsSuvVWx?] [-c command | -m module-name | script | - ] [args]
```
當然最常見的用例就是簡單地啟動執行一個腳本:
```
python myscript.py
```
### 1.1.1. 接口選項
解釋器接口類似于 UNIX shell,但提供了一些額外的發起調用方法:
- 當調用時附帶連接到某個 tty 設備的標準輸入時,它會提示輸入命令并執行它們,直到讀入一個 EOF(文件結束字符,其產生方式是在 UNIX 中按 Ctrl-D 或在 Windows 中按 Ctrl-Z, Enter。)
- 當調用時附帶一個文件名參數或以一個文件作為標準輸入時,它會從該文件讀取并執行腳本程序。
- 當調用時附帶一個目錄名參數時,它會從該目錄讀取并執行具有適當名稱的腳本程序。
- 當調用時附帶 `-c command` 時,它會執行 *command* 所給出的 Python 語句。 在這里 *command* 可以包含以換行符分隔的多條語句。 請注意前導空格在 Python 語句中是有重要作用的!
- 當調用時附帶 `-m module-name` 時,會在 Python 模塊路徑中查找指定的模塊,并將其作為腳本程序執行。
在非交互模式下,會對全部輸入先解析再執行。
一個接口選項會終結解釋器所讀入的選項列表,后續的所有參數將被放入 [`sys.argv`](../library/sys.xhtml#sys.argv "sys.argv") -- 請注意其中首個元素即第零項 (`sys.argv[0]`) 會是一個表示程序源的字符串。
`-c`` <command>`執行 *command* 中的 Python 代碼。 *command* 可以為一條或以換行符分隔的多條語句,其中前導空格像在普通模塊代碼中一樣具有作用。
如果給出此選項,[`sys.argv`](../library/sys.xhtml#sys.argv "sys.argv") 的首個元素將為 `"-c"` 并且當前目錄將被加入 [`sys.path`](../library/sys.xhtml#sys.path "sys.path") 的開頭(以允許該目錄中的模塊作為最高層級模塊被導入)。
`-m`` <module-name>`在 [`sys.path`](../library/sys.xhtml#sys.path "sys.path") 中搜索指定名稱的模塊并將其內容作為 [`__main__`](../library/__main__.xhtml#module-__main__ "__main__: The environment where the top-level script is run.") 模塊來執行。
由于該參數為 *module* 名稱,你不應給出文件擴展名 (`.py`)。 模塊名稱應為絕對有效的 Python 模塊名稱,但具體實現可能并不總是強制要求這一點(例如它可能允許你使用包含連字符的名稱)。
包名稱(包括命名空間包)也允許使用。 當所提供的是包名稱而非普通模塊名稱時,解釋器將把 `<pkg>.__main__` 作為主模塊來執行。 此行為特意被設計為與作為腳本參數傳遞給解釋器的目錄和 zip 文件的處理方式類似。
注解
此選項不適用于內置模塊和以 C 編寫的擴展模塊,因為它們并沒有對應的 Python 模塊文件。 但是它仍然適用于預編譯的模塊,即使沒有可用的初始源文件。
如果給出此選項,[`sys.argv`](../library/sys.xhtml#sys.argv "sys.argv") 的首個元素將為模塊文件的完整路徑 (在定位模塊文件期間,首個元素將設為 `"-m"`)。 與 [`-c`](#cmdoption-c) 選項一樣,當前目錄將被加入 [`sys.path`](../library/sys.xhtml#sys.path "sys.path") 的開頭。
許多標準庫模塊都包含作為腳本執行時會被發起調用的代碼。 其中的一個例子是 [`timeit`](../library/timeit.xhtml#module-timeit "timeit: Measure the execution time of small code snippets.") 模塊:
```
python -mtimeit -s 'setup here' 'benchmarked code here'
python -mtimeit -h # for details
```
參見
[`runpy.run_module()`](../library/runpy.xhtml#runpy.run_module "runpy.run_module")Python 代碼可以直接使用的等效功能
[**PEP 338**](https://www.python.org/dev/peps/pep-0338) \[https://www.python.org/dev/peps/pep-0338\] -- 將模塊作為腳本執行
在 3.1 版更改: 提供包名稱來運行 `__main__` 子模塊。
在 3.4 版更改: 同樣支持命名空間包
`-`從標準輸入 ([`sys.stdin`](../library/sys.xhtml#sys.stdin "sys.stdin")) 讀取命令。 如果標準輸入為一個終端,則使用 [`-i`](#cmdoption-i)。
如果給出此選項,[`sys.argv`](../library/sys.xhtml#sys.argv "sys.argv") 的首個元素將為 `"-"` 并且當前目錄將被加入 [`sys.path`](../library/sys.xhtml#sys.path "sys.path") 的開頭。
`<script>`執行 *script* 中的 Python 代碼,該參數應為一個(絕對或相對)文件系統路徑,指向某個 Python 文件、包含 `__main__.py` 文件的目錄,或包含 `__main__.py` 文件的 zip 文件。
如果給出此選項,[`sys.argv`](../library/sys.xhtml#sys.argv "sys.argv") 的首個元素將為在命令行中指定的腳本名稱。
如果腳本名稱直接指向一個 Python 文件,則包含該文件的目錄將被加入 [`sys.path`](../library/sys.xhtml#sys.path "sys.path") 的開頭,并且該文件會被作為 [`__main__`](../library/__main__.xhtml#module-__main__ "__main__: The environment where the top-level script is run.") 模塊來執行。
如果腳本名稱指向一個目錄或 zip 文件,則腳本名稱將被加入 [`sys.path`](../library/sys.xhtml#sys.path "sys.path") 的開頭,并且該位置中的 `__main__.py` 文件會被作為 [`__main__`](../library/__main__.xhtml#module-__main__ "__main__: The environment where the top-level script is run.") 模塊來執行。
參見
[`runpy.run_path()`](../library/runpy.xhtml#runpy.run_path "runpy.run_path")Python 代碼可以直接使用的等效功能
如果沒有給出接口選項,則使用 [`-i`](#cmdoption-i),`sys.argv[0]` 將為空字符串 (`""`),并且當前目錄會被加入 [`sys.path`](../library/sys.xhtml#sys.path "sys.path") 的開頭。 此外,tab 補全和歷史編輯會自動啟用,如果你的系統平臺支持此功能的話 (參見 [Readline configuration](../library/site.xhtml#rlcompleter-config))。
參見
[調用解釋器](../tutorial/interpreter.xhtml#tut-invoking)
在 3.4 版更改: 自動啟用 tab 補全和歷史編輯。
### 1.1.2. 通用選項
`-?````-h````--help```打印全部命令行選項的簡短描述。
`-V````--version```打印 Python 版本號并退出。 示例輸出信息如下:
```
Python 3.7.0b2+
```
如果重復給出,則打印有關構建的更多信息,例如:
```
Python 3.7.0b2+ (3.7:0c076caaa8, Sep 22 2018, 12:04:24)
[GCC 6.2.0 20161005]
```
3\.6 新版功能: `-VV` 選項。
### 1.1.3. 其他選項
`-b```在將 [`bytes`](../library/stdtypes.xhtml#bytes "bytes") 或 [`bytearray`](../library/stdtypes.xhtml#bytearray "bytearray") 與 [`str`](../library/stdtypes.xhtml#str "str") 或是將 [`bytes`](../library/stdtypes.xhtml#bytes "bytes") 與 [`int`](../library/functions.xhtml#int "int") 比較時發出警告。 如果重復給出該選項 (`-bb`) 則會引發錯誤。
在 3.5 版更改: 影響 [`bytes`](../library/stdtypes.xhtml#bytes "bytes") 與 [`int`](../library/functions.xhtml#int "int") 的比較。
`-B```如果給出此選項,Python 將不會試圖在導入源模塊時寫入 `.pyc` 文件。 另請參閱 [`PYTHONDONTWRITEBYTECODE`](#envvar-PYTHONDONTWRITEBYTECODE)。
`--check-hash-based-pycs`` default|always|never`控制基于哈希值的 `.pyc` 文件的驗證行為。 參見 [已緩存字節碼的失效](../reference/import.xhtml#pyc-invalidation)。 當設為 `default` 時,已選定和未選定的基于哈希值的字節碼緩存文件將根據其默認語義進行驗證。 當設為 `always` 時,所有基于哈希值的 `.pyc` 文件,不論是已選定還是未選定的都將根據其對應的源文件進行驗證。 當設為 `never` 時,基于哈希值的 `.pyc` 文件將不會根據其對應的源文件進行驗證。
基于時間戳的 `.pyc` 文件的語義不會受此選項影響。
`-d```開啟解析器調試輸出(限專家使用,依賴于編譯選項)。 另請參閱 [`PYTHONDEBUG`](#envvar-PYTHONDEBUG)。
`-E```忽略所有 `PYTHON*` 環境變量,例如可能已設置的 [`PYTHONPATH`](#envvar-PYTHONPATH) 和 [`PYTHONHOME`](#envvar-PYTHONHOME)。
`-i```當有腳本被作為首個參數傳入或使用了 [`-c`](#cmdoption-c) 選項時,在執行腳本或命令之后進入交互模式,即使是在 [`sys.stdin`](../library/sys.xhtml#sys.stdin "sys.stdin") 并不是一個終端的時候。 [`PYTHONSTARTUP`](#envvar-PYTHONSTARTUP) 文件不會被讀取。
這一選項的用處是在腳本引發異常時檢查全局變量或者棧跟蹤。 另請參閱 [`PYTHONINSPECT`](#envvar-PYTHONINSPECT)。
`-I```在隔離模式下運行 Python。 這將同時應用 -E 和 -s。 在隔離模式下 [`sys.path`](../library/sys.xhtml#sys.path "sys.path") 既不包含腳本所在目錄也不包含用戶的 site-packages 目錄。 所有 `PYTHON*` 環境變量也會被忽略。 還可以施加更進一步的限制以防止用戶注入惡意代碼。
3\.4 新版功能.
`-O```移除 assert 語句以及任何以 [`__debug__`](../library/constants.xhtml#__debug__ "__debug__") 的值作為條件的代碼。 通過在 `.pyc` 擴展名之前添加 `.opt-1` 來擴充已編譯文件 ([bytecode](../glossary.xhtml#term-bytecode)) 的文件名 (參見 [**PEP 488**](https://www.python.org/dev/peps/pep-0488) \[https://www.python.org/dev/peps/pep-0488\])。 另請參閱 [`PYTHONOPTIMIZE`](#envvar-PYTHONOPTIMIZE)。
在 3.5 版更改: 依據 [**PEP 488**](https://www.python.org/dev/peps/pep-0488) \[https://www.python.org/dev/peps/pep-0488\] 修改 `.pyc` 文件名。
`-OO```在啟用 [`-O`](#cmdoption-o) 的同時丟棄文檔字符串。 通過在 `.pyc` 擴展名之前添加 `.opt-2` 來擴展已編譯文件 ([bytecode](../glossary.xhtml#term-bytecode)) 的文件名 (參見 [**PEP 488**](https://www.python.org/dev/peps/pep-0488) \[https://www.python.org/dev/peps/pep-0488\])。
在 3.5 版更改: 依據 [**PEP 488**](https://www.python.org/dev/peps/pep-0488) \[https://www.python.org/dev/peps/pep-0488\] 修改 `.pyc` 文件名。
`-q```即使在交互模式下也不顯示版權和版本信息。
3\.2 新版功能.
`-R```開啟哈希隨機化。 此選項權 [`PYTHONHASHSEED`](#envvar-PYTHONHASHSEED) 環境變量設置為 `0` 時起作用,因為哈希隨機化是默認啟用的。
在先前的 Python 版本中,此選項會開啟哈希隨機化,這樣 str, bytes 和 datetime 的 [`__hash__()`](../reference/datamodel.xhtml#object.__hash__ "object.__hash__") 值將會使用一個不可預測的隨機值來“加鹽”。 雖然它們在單個 Python 進程中會保持不變,但在重復發起的 Python 調用之間則是不可預測的。
哈希隨機化旨在針對由精心選擇的輸入引起的拒絕服務攻擊提供防護,這種輸入利用了構造 dict 在最壞情況下的性能即 O(n^2) 復雜度。 詳情請參閱 <http://www.ocert.org/advisories/ocert-2011-003.html>。
[`PYTHONHASHSEED`](#envvar-PYTHONHASHSEED) 允許你為哈希種子密碼設置一個固定值。
在 3.7 版更改: 此選項不會再被忽略。
3\.2.3 新版功能.
`-s```不要將 [`用戶 site-packages 目錄`](../library/site.xhtml#site.USER_SITE "site.USER_SITE") 添加到 [`sys.path`](../library/sys.xhtml#sys.path "sys.path")。
參見
[**PEP 370**](https://www.python.org/dev/peps/pep-0370) \[https://www.python.org/dev/peps/pep-0370\] -- 分用戶的 site-packages 目錄
`-S```禁用 [`site`](../library/site.xhtml#module-site "site: Module responsible for site-specific configuration.") 的導入及其所附帶的基于站點對 [`sys.path`](../library/sys.xhtml#sys.path "sys.path") 的操作。 如果 [`site`](../library/site.xhtml#module-site "site: Module responsible for site-specific configuration.") 會在稍后被顯式地導入也會禁用這些操作 (如果你希望觸發它們則應調用 [`site.main()`](../library/site.xhtml#site.main "site.main"))。
`-u```強制 stdout 和 stderr 流不使用緩沖。 此選項對 stdin 流無影響。
另請參閱 [`PYTHONUNBUFFERED`](#envvar-PYTHONUNBUFFERED)。
在 3.7 版更改: stdout 和 stderr 流在文本層現在不使用緩沖。
`-v```每當一個模塊被初始化時打印一條信息,顯示其加載位置(文件名或內置模塊)。 當重復給出時 (`-vv`),為搜索模塊時所檢查的每個文件都打印一條消息。 此外還提供退出時有關模塊清理的信息A。 另請參閱 [`PYTHONVERBOSE`](#envvar-PYTHONVERBOSE)。
`-W`` arg`警告控制。 Python 的警告機制在默認情況下會向 [`sys.stderr`](../library/sys.xhtml#sys.stderr "sys.stderr") 打印警告消息。 典型的警告消息具有如下形式:
```
file:line: category: message
```
默認情況下,每個警告都對于其發生所在的每個源行都會打印一次。 此選項可控制警告打印的頻繁程度。
可以給出多個 [`-W`](#cmdoption-w) 選項;當某個警告能與多個選項匹配時,將執行最后一個匹配選項的操作。 無效的 [`-W`](#cmdoption-w) 選項將被忽略(但是,在發出第一個警告時會打印有關無效選項的警告消息)。
警告也可以使用 [`PYTHONWARNINGS`](#envvar-PYTHONWARNINGS) 環境變量以及使用 [`warnings`](../library/warnings.xhtml#module-warnings "warnings: Issue warning messages and control their disposition.") 模塊在 Python 程序內部進行控制。
最簡單的設置是將某個特定操作無條件地應用于進程所發出所有警告 (即使是在默認情況下會忽略的那些警告):
```
-Wdefault # Warn once per call location
-Werror # Convert to exceptions
-Walways # Warn every time
-Wmodule # Warn once per calling module
-Wonce # Warn once per Python process
-Wignore # Never warn
```
操作名稱可以根據需要進行縮寫 (例如 `-Wi`, `-Wd`, `-Wa`, `-We`),解釋器將會把它們解析為適當的操作名稱。
請參閱 [The Warnings Filter](../library/warnings.xhtml#warning-filter) 和 [Describing Warning Filters](../library/warnings.xhtml#describing-warning-filters) 了解更多細節。
`-x```跳過源中第一行,以允許使用非 Unix 形式的 `#!cmd`。 這適用于 DOS 專屬的破解操作。
`-X```保留用于各種具體實現專屬的選項。 CPython 目前定義了下列可用的值:
- `-X faulthandler` 啟用 [`faulthandler`](../library/faulthandler.xhtml#module-faulthandler "faulthandler: Dump the Python traceback.");
- `-X showrefcount` 當程序結束或在交互解釋器中的每條語句之后輸出總引用計數和已使用內存塊計數。 此選項僅在調試版本中有效。
- `-X tracemalloc` 使用 [`tracemalloc`](../library/tracemalloc.xhtml#module-tracemalloc "tracemalloc: Trace memory allocations.") 模塊啟動對 Python 內存分配的跟蹤。 默認情況下,只有最近的幀會保存在跟蹤的回溯信息中。 使用 `-X tracemalloc=NFRAME` 以啟動限定回溯 *NFRAME* 幀的跟蹤。 請參閱 [`tracemalloc.start()`](../library/tracemalloc.xhtml#tracemalloc.start "tracemalloc.start") 了解詳情。
- `-X showalloccount` 當程序結束時輸出每種類型的已分配對象的總數。 此選項僅當 Python 在定義了 `COUNT_ALLOCS` 后構建時才會生效。
- `-X importtime` 顯示每次導入耗費的時間。 它會顯示模塊名稱,累計時間(包括嵌套的導入)和自身時間(排除嵌套的導入)。 請注意它的輸出在多線程應用程序中可能會出錯。 典型用法如 `python3 -X importtime -c 'import asyncio'`。 另請參閱 [`PYTHONPROFILEIMPORTTIME`](#envvar-PYTHONPROFILEIMPORTTIME)。
- `-X dev`: 啟用 CPython 的“開發模式”,引入額外的運行時檢測,這些檢測因開銷過大而無法默認啟用。 如果代碼是正確的則它不會比默認輸出更詳細:新增警告只會在發現問題時才會發出。 開發模式的作用效果:
- 添加 `default` 警告過濾器,即 [`-W`](#cmdoption-w)`default`。
- 在內存分配器上安裝調試鉤子:參見 [`PyMem_SetupDebugHooks()`](../c-api/memory.xhtml#c.PyMem_SetupDebugHooks "PyMem_SetupDebugHooks") C 函數。
- 啟用 [`faulthandler`](../library/faulthandler.xhtml#module-faulthandler "faulthandler: Dump the Python traceback.") 模塊以在發生崩潰時轉儲 Python 回溯信息。
- 啟用 [asyncio 調試模式](../library/asyncio-dev.xhtml#asyncio-debug-mode)。
- 將 [`sys.flags`](../library/sys.xhtml#sys.flags "sys.flags") 的 `dev_mode` 屬性設為 `True`
- `-X utf8` 為操作系統接口啟用 UTF-8 模式,覆蓋默認的區域感知模式。 `-X utf8=0` 顯式地禁用 UTF-8 模式(即使在它應當被自動激活的時候)。 請參閱 [`PYTHONUTF8`](#envvar-PYTHONUTF8) 了解詳情。
它還允許傳入任意值并通過 [`sys._xoptions`](../library/sys.xhtml#sys._xoptions "sys._xoptions") 字典來提取這些值。
在 3.2 版更改: 增加了 [`-X`](#id5) 選項。
3\.3 新版功能: `-X faulthandler` 選項。
3\.4 新版功能: `-X showrefcount` 與 `-X tracemalloc` 選項。
3\.6 新版功能: `-X showalloccount` 選項。
3\.7 新版功能: `-X importtime`, `-X dev` 與 `-X utf8` 選項。
### 1.1.4. 不應當使用的選項
`-J```保留給 [Jython](http://www.jython.org/) \[http://www.jython.org/\] 使用。
## 1.2. 環境變量
這些環境變量會影響 Python 的行為,它們是在命令行開關之前被處理的,但 -E 或 -I 除外。 根據約定,當存在沖突時命令行開關會覆蓋環境變量的設置。
`PYTHONHOME`更改標準 Python 庫的位置。 默認情況下庫是在 `prefix/lib/pythonversion` 和 `exec_prefix/lib/pythonversion` 中搜索,其中 `prefix` 和 `exec_prefix` 是由安裝位置確定的目錄,默認都位于 `/usr/local`。
當 [`PYTHONHOME`](#envvar-PYTHONHOME) 被設為單個目錄時,它的值會同時替代 `prefix` 和 `exec_prefix`。 要為兩者指定不同的值,請將 [`PYTHONHOME`](#envvar-PYTHONHOME) 設為 `prefix:exec_prefix`。
`PYTHONPATH`增加模塊文件默認搜索路徑。 所用格式與終端的 `PATH` 相同:一個或多個由 [`os.pathsep`](../library/os.xhtml#os.pathsep "os.pathsep") 分隔的目錄路徑名稱(例如 Unix 上用冒號而在 Windows 上用分號)。 默認忽略不存在的目錄。
除了普通目錄之外,單個 [`PYTHONPATH`](#envvar-PYTHONPATH) 條目可以引用包含純Python模塊的zip文件(源代碼或編譯形式)。無法從zip文件導入擴展模塊。
The default search path is installation dependent, but generally begins with `prefix/lib/pythonversion` (see [`PYTHONHOME`](#envvar-PYTHONHOME) above). It is *always* appended to [`PYTHONPATH`](#envvar-PYTHONPATH).
An additional directory will be inserted in the search path in front of [`PYTHONPATH`](#envvar-PYTHONPATH) as described above under [接口選項](#using-on-interface-options). The search path can be manipulated from within a Python program as the variable [`sys.path`](../library/sys.xhtml#sys.path "sys.path").
`PYTHONSTARTUP`If this is the name of a readable file, the Python commands in that file are executed before the first prompt is displayed in interactive mode. The file is executed in the same namespace where interactive commands are executed so that objects defined or imported in it can be used without qualification in the interactive session. You can also change the prompts [`sys.ps1`](../library/sys.xhtml#sys.ps1 "sys.ps1") and [`sys.ps2`](../library/sys.xhtml#sys.ps2 "sys.ps2") and the hook [`sys.__interactivehook__`](../library/sys.xhtml#sys.__interactivehook__ "sys.__interactivehook__") in this file.
`PYTHONOPTIMIZE`If this is set to a non-empty string it is equivalent to specifying the [`-O`](#cmdoption-o) option. If set to an integer, it is equivalent to specifying [`-O`](#cmdoption-o) multiple times.
`PYTHONBREAKPOINT`If this is set, it names a callable using dotted-path notation. The module containing the callable will be imported and then the callable will be run by the default implementation of [`sys.breakpointhook()`](../library/sys.xhtml#sys.breakpointhook "sys.breakpointhook") which itself is called by built-in [`breakpoint()`](../library/functions.xhtml#breakpoint "breakpoint"). If not set, or set to the empty string, it is equivalent to the value "pdb.set\_trace". Setting this to the string "0" causes the default implementation of [`sys.breakpointhook()`](../library/sys.xhtml#sys.breakpointhook "sys.breakpointhook")to do nothing but return immediately.
3\.7 新版功能.
`PYTHONDEBUG`If this is set to a non-empty string it is equivalent to specifying the [`-d`](#cmdoption-d) option. If set to an integer, it is equivalent to specifying [`-d`](#cmdoption-d) multiple times.
`PYTHONINSPECT`If this is set to a non-empty string it is equivalent to specifying the [`-i`](#cmdoption-i) option.
This variable can also be modified by Python code using [`os.environ`](../library/os.xhtml#os.environ "os.environ")to force inspect mode on program termination.
`PYTHONUNBUFFERED`If this is set to a non-empty string it is equivalent to specifying the [`-u`](#cmdoption-u) option.
`PYTHONVERBOSE`If this is set to a non-empty string it is equivalent to specifying the [`-v`](#id4) option. If set to an integer, it is equivalent to specifying [`-v`](#id4) multiple times.
`PYTHONCASEOK`If this is set, Python ignores case in [`import`](../reference/simple_stmts.xhtml#import) statements. This only works on Windows and OS X.
`PYTHONDONTWRITEBYTECODE`If this is set to a non-empty string, Python won't try to write `.pyc`files on the import of source modules. This is equivalent to specifying the [`-B`](#id1) option.
`PYTHONHASHSEED`If this variable is not set or set to `random`, a random value is used to seed the hashes of str, bytes and datetime objects.
If [`PYTHONHASHSEED`](#envvar-PYTHONHASHSEED) is set to an integer value, it is used as a fixed seed for generating the hash() of the types covered by the hash randomization.
Its purpose is to allow repeatable hashing, such as for selftests for the interpreter itself, or to allow a cluster of python processes to share hash values.
The integer must be a decimal number in the range \[0,4294967295\]. Specifying the value 0 will disable hash randomization.
3\.2.3 新版功能.
`PYTHONIOENCODING`If this is set before running the interpreter, it overrides the encoding used for stdin/stdout/stderr, in the syntax `encodingname:errorhandler`. Both the `encodingname` and the `:errorhandler` parts are optional and have the same meaning as in [`str.encode()`](../library/stdtypes.xhtml#str.encode "str.encode").
For stderr, the `:errorhandler` part is ignored; the handler will always be `'backslashreplace'`.
在 3.4 版更改: “encodingname” 部分現在是可選的。
在 3.6 版更改: On Windows, the encoding specified by this variable is ignored for interactive console buffers unless [`PYTHONLEGACYWINDOWSSTDIO`](#envvar-PYTHONLEGACYWINDOWSSTDIO) is also specified. Files and pipes redirected through the standard streams are not affected.
`PYTHONNOUSERSITE`If this is set, Python won't add the [`user site-packages directory`](../library/site.xhtml#site.USER_SITE "site.USER_SITE") to [`sys.path`](../library/sys.xhtml#sys.path "sys.path").
參見
[**PEP 370**](https://www.python.org/dev/peps/pep-0370) \[https://www.python.org/dev/peps/pep-0370\] -- 分用戶的 site-packages 目錄
`PYTHONUSERBASE`Defines the [`user base directory`](../library/site.xhtml#site.USER_BASE "site.USER_BASE"), which is used to compute the path of the [`user site-packages directory`](../library/site.xhtml#site.USER_SITE "site.USER_SITE")and [Distutils installation paths](../install/index.xhtml#inst-alt-install-user) for `python setup.py install --user`.
參見
[**PEP 370**](https://www.python.org/dev/peps/pep-0370) \[https://www.python.org/dev/peps/pep-0370\] -- 分用戶的 site-packages 目錄
`PYTHONEXECUTABLE`If this environment variable is set, `sys.argv[0]` will be set to its value instead of the value got through the C runtime. Only works on Mac OS X.
`PYTHONWARNINGS`This is equivalent to the [`-W`](#cmdoption-w) option. If set to a comma separated string, it is equivalent to specifying [`-W`](#cmdoption-w) multiple times, with filters later in the list taking precedence over those earlier in the list.
最簡單的設置是將某個特定操作無條件地應用于進程所發出所有警告 (即使是在默認情況下會忽略的那些警告):
```
PYTHONWARNINGS=default # Warn once per call location
PYTHONWARNINGS=error # Convert to exceptions
PYTHONWARNINGS=always # Warn every time
PYTHONWARNINGS=module # Warn once per calling module
PYTHONWARNINGS=once # Warn once per Python process
PYTHONWARNINGS=ignore # Never warn
```
請參閱 [The Warnings Filter](../library/warnings.xhtml#warning-filter) 和 [Describing Warning Filters](../library/warnings.xhtml#describing-warning-filters) 了解更多細節。
`PYTHONFAULTHANDLER`If this environment variable is set to a non-empty string, [`faulthandler.enable()`](../library/faulthandler.xhtml#faulthandler.enable "faulthandler.enable") is called at startup: install a handler for `SIGSEGV`, `SIGFPE`, `SIGABRT`, `SIGBUS` and `SIGILL` signals to dump the Python traceback. This is equivalent to [`-X`](#id5)`faulthandler` option.
3\.3 新版功能.
`PYTHONTRACEMALLOC`If this environment variable is set to a non-empty string, start tracing Python memory allocations using the [`tracemalloc`](../library/tracemalloc.xhtml#module-tracemalloc "tracemalloc: Trace memory allocations.") module. The value of the variable is the maximum number of frames stored in a traceback of a trace. For example, `PYTHONTRACEMALLOC=1` stores only the most recent frame. See the [`tracemalloc.start()`](../library/tracemalloc.xhtml#tracemalloc.start "tracemalloc.start") for more information.
3\.4 新版功能.
`PYTHONPROFILEIMPORTTIME`If this environment variable is set to a non-empty string, Python will show how long each import takes. This is exactly equivalent to setting `-X importtime` on the command line.
3\.7 新版功能.
`PYTHONASYNCIODEBUG`If this environment variable is set to a non-empty string, enable the [debug mode](../library/asyncio-dev.xhtml#asyncio-debug-mode) of the [`asyncio`](../library/asyncio.xhtml#module-asyncio "asyncio: Asynchronous I/O.") module.
3\.4 新版功能.
`PYTHONMALLOC`Set the Python memory allocators and/or install debug hooks.
Set the family of memory allocators used by Python:
- `default`: 使用 [default memory allocators](../c-api/memory.xhtml#default-memory-allocators).
- `malloc`: use the `malloc()` function of the C library for all domains ([`PYMEM_DOMAIN_RAW`](../c-api/memory.xhtml#c.PYMEM_DOMAIN_RAW "PYMEM_DOMAIN_RAW"), [`PYMEM_DOMAIN_MEM`](../c-api/memory.xhtml#c.PYMEM_DOMAIN_MEM "PYMEM_DOMAIN_MEM"), [`PYMEM_DOMAIN_OBJ`](../c-api/memory.xhtml#c.PYMEM_DOMAIN_OBJ "PYMEM_DOMAIN_OBJ")).
- `pymalloc`: use the [pymalloc allocator](../c-api/memory.xhtml#pymalloc) for [`PYMEM_DOMAIN_MEM`](../c-api/memory.xhtml#c.PYMEM_DOMAIN_MEM "PYMEM_DOMAIN_MEM") and [`PYMEM_DOMAIN_OBJ`](../c-api/memory.xhtml#c.PYMEM_DOMAIN_OBJ "PYMEM_DOMAIN_OBJ") domains and use the `malloc()` function for the [`PYMEM_DOMAIN_RAW`](../c-api/memory.xhtml#c.PYMEM_DOMAIN_RAW "PYMEM_DOMAIN_RAW") domain.
安裝調試鉤子:
- `debug`: install debug hooks on top of the [default memory allocators](../c-api/memory.xhtml#default-memory-allocators).
- `malloc_debug`: same as `malloc` but also install debug hooks
- `pymalloc_debug`: same as `pymalloc` but also install debug hooks
See the [default memory allocators](../c-api/memory.xhtml#default-memory-allocators) and the [`PyMem_SetupDebugHooks()`](../c-api/memory.xhtml#c.PyMem_SetupDebugHooks "PyMem_SetupDebugHooks") function (install debug hooks on Python memory allocators).
在 3.7 版更改: Added the `"default"` allocator.
3\.6 新版功能.
`PYTHONMALLOCSTATS`If set to a non-empty string, Python will print statistics of the [pymalloc memory allocator](../c-api/memory.xhtml#pymalloc) every time a new pymalloc object arena is created, and on shutdown.
This variable is ignored if the [`PYTHONMALLOC`](#envvar-PYTHONMALLOC) environment variable is used to force the `malloc()` allocator of the C library, or if Python is configured without `pymalloc` support.
在 3.6 版更改: This variable can now also be used on Python compiled in release mode. It now has no effect if set to an empty string.
`PYTHONLEGACYWINDOWSFSENCODING`If set to a non-empty string, the default filesystem encoding and errors mode will revert to their pre-3.6 values of 'mbcs' and 'replace', respectively. Otherwise, the new defaults 'utf-8' and 'surrogatepass' are used.
This may also be enabled at runtime with [`sys._enablelegacywindowsfsencoding()`](../library/sys.xhtml#sys._enablelegacywindowsfsencoding "sys._enablelegacywindowsfsencoding").
[可用性](../library/intro.xhtml#availability): Windows。
3\.6 新版功能: 有關更多詳細信息,請參閱 [**PEP 529**](https://www.python.org/dev/peps/pep-0529) \[https://www.python.org/dev/peps/pep-0529\]。
`PYTHONLEGACYWINDOWSSTDIO`If set to a non-empty string, does not use the new console reader and writer. This means that Unicode characters will be encoded according to the active console code page, rather than using utf-8.
This variable is ignored if the standard streams are redirected (to files or pipes) rather than referring to console buffers.
[可用性](../library/intro.xhtml#availability): Windows。
3\.6 新版功能.
`PYTHONCOERCECLOCALE`If set to the value `0`, causes the main Python command line application to skip coercing the legacy ASCII-based C and POSIX locales to a more capable UTF-8 based alternative.
If this variable is *not* set (or is set to a value other than `0`), the `LC_ALL` locale override environment variable is also not set, and the current locale reported for the `LC_CTYPE` category is either the default `C` locale, or else the explicitly ASCII-based `POSIX` locale, then the Python CLI will attempt to configure the following locales for the `LC_CTYPE` category in the order listed before loading the interpreter runtime:
- `C.UTF-8`
- `C.utf8`
- `UTF-8`
If setting one of these locale categories succeeds, then the `LC_CTYPE`environment variable will also be set accordingly in the current process environment before the Python runtime is initialized. This ensures that in addition to being seen by both the interpreter itself and other locale-aware components running in the same process (such as the GNU `readline`library), the updated setting is also seen in subprocesses (regardless of whether or not those processes are running a Python interpreter), as well as in operations that query the environment rather than the current C locale (such as Python's own [`locale.getdefaultlocale()`](../library/locale.xhtml#locale.getdefaultlocale "locale.getdefaultlocale")).
Configuring one of these locales (either explicitly or via the above implicit locale coercion) automatically enables the `surrogateescape`[error handler](../library/codecs.xhtml#error-handlers) for [`sys.stdin`](../library/sys.xhtml#sys.stdin "sys.stdin") and [`sys.stdout`](../library/sys.xhtml#sys.stdout "sys.stdout") ([`sys.stderr`](../library/sys.xhtml#sys.stderr "sys.stderr") continues to use `backslashreplace`as it does in any other locale). This stream handling behavior can be overridden using [`PYTHONIOENCODING`](#envvar-PYTHONIOENCODING) as usual.
For debugging purposes, setting `PYTHONCOERCECLOCALE=warn` will cause Python to emit warning messages on `stderr` if either the locale coercion activates, or else if a locale that *would* have triggered coercion is still active when the Python runtime is initialized.
Also note that even when locale coercion is disabled, or when it fails to find a suitable target locale, [`PYTHONUTF8`](#envvar-PYTHONUTF8) will still activate by default in legacy ASCII-based locales. Both features must be disabled in order to force the interpreter to use `ASCII` instead of `UTF-8` for system interfaces.
[Availability](../library/intro.xhtml#availability): \*nix.
3\.7 新版功能: See [**PEP 538**](https://www.python.org/dev/peps/pep-0538) \[https://www.python.org/dev/peps/pep-0538\] for more details.
`PYTHONDEVMODE`If this environment variable is set to a non-empty string, enable the CPython "development mode". See the [`-X`](#id5)`dev` option.
3\.7 新版功能.
`PYTHONUTF8`If set to `1`, enables the interpreter's UTF-8 mode, where `UTF-8` is used as the text encoding for system interfaces, regardless of the current locale setting.
This means that:
> - [`sys.getfilesystemencoding()`](../library/sys.xhtml#sys.getfilesystemencoding "sys.getfilesystemencoding") returns `'UTF-8'` (the locale encoding is ignored).
> - [`locale.getpreferredencoding()`](../library/locale.xhtml#locale.getpreferredencoding "locale.getpreferredencoding") returns `'UTF-8'` (the locale encoding is ignored, and the function's `do_setlocale` parameter has no effect).
> - [`sys.stdin`](../library/sys.xhtml#sys.stdin "sys.stdin"), [`sys.stdout`](../library/sys.xhtml#sys.stdout "sys.stdout"), and [`sys.stderr`](../library/sys.xhtml#sys.stderr "sys.stderr") all use UTF-8 as their text encoding, with the `surrogateescape`[error handler](../library/codecs.xhtml#error-handlers) being enabled for [`sys.stdin`](../library/sys.xhtml#sys.stdin "sys.stdin")and [`sys.stdout`](../library/sys.xhtml#sys.stdout "sys.stdout") ([`sys.stderr`](../library/sys.xhtml#sys.stderr "sys.stderr") continues to use `backslashreplace` as it does in the default locale-aware mode)
As a consequence of the changes in those lower level APIs, other higher level APIs also exhibit different default behaviours:
> - Command line arguments, environment variables and filenames are decoded to text using the UTF-8 encoding.
> - [`os.fsdecode()`](../library/os.xhtml#os.fsdecode "os.fsdecode") and [`os.fsencode()`](../library/os.xhtml#os.fsencode "os.fsencode") use the UTF-8 encoding.
> - [`open()`](../library/functions.xhtml#open "open"), [`io.open()`](../library/io.xhtml#io.open "io.open"), and [`codecs.open()`](../library/codecs.xhtml#codecs.open "codecs.open") use the UTF-8 encoding by default. However, they still use the strict error handler by default so that attempting to open a binary file in text mode is likely to raise an exception rather than producing nonsense data.
Note that the standard stream settings in UTF-8 mode can be overridden by [`PYTHONIOENCODING`](#envvar-PYTHONIOENCODING) (just as they can be in the default locale-aware mode).
如果設置為“0”,則解釋器以其默認的區域識別模式運行。
設置任何其他非空字符串會在解釋器初始化期間導致錯誤。
如果根本未設置此環境變量,則解釋器默認使用當前區域設置,*除非* 當前區域被標識為基于 ASCII 的舊式區域設置(如 [`PYTHONCOERCECLOCALE`](#envvar-PYTHONCOERCECLOCALE) 所述),并且區域強制轉換被禁用或失敗。 在此類舊式區域設置中,解釋器將默認啟用 UTF-8 模式,除非顯式地指定不這樣做。
也可以使用 [`-X`](#id5)`utf8` 選項。
[Availability](../library/intro.xhtml#availability): \*nix.
3\.7 新版功能: 有關更多詳細信息,請參閱 [**PEP 540**](https://www.python.org/dev/peps/pep-0540) \[https://www.python.org/dev/peps/pep-0540\] 。
### 1.2.1. 調試模式變量
設置這些變量只會在Python的調試版本中產生影響,也就是說,如果Python配置了 `--with-pydebug` 構建選項。
`PYTHONTHREADDEBUG`如果設置,Python將打印線程調試信息。
`PYTHONDUMPREFS`如果設置,Python在關閉解釋器,及轉儲對象和引用計數后仍將保持活動。
### 導航
- [索引](../genindex.xhtml "總目錄")
- [模塊](../py-modindex.xhtml "Python 模塊索引") |
- [下一頁](unix.xhtml "2. 在Unix平臺中使用Python") |
- [上一頁](index.xhtml "安裝和使用 Python") |
- 
- [Python](https://www.python.org/) ?
- zh\_CN 3.7.3 [文檔](../index.xhtml) ?
- [安裝和使用 Python](index.xhtml) ?
- $('.inline-search').show(0); |
? [版權所有](../copyright.xhtml) 2001-2019, Python Software Foundation.
Python 軟件基金會是一個非盈利組織。 [請捐助。](https://www.python.org/psf/donations/)
最后更新于 5月 21, 2019. [發現了問題](../bugs.xhtml)?
使用[Sphinx](http://sphinx.pocoo.org/)1.8.4 創建。
- Python文檔內容
- Python 有什么新變化?
- Python 3.7 有什么新變化
- 摘要 - 發布重點
- 新的特性
- 其他語言特性修改
- 新增模塊
- 改進的模塊
- C API 的改變
- 構建的改變
- 性能優化
- 其他 CPython 實現的改變
- 已棄用的 Python 行為
- 已棄用的 Python 模塊、函數和方法
- 已棄用的 C API 函數和類型
- 平臺支持的移除
- API 與特性的移除
- 移除的模塊
- Windows 專屬的改變
- 移植到 Python 3.7
- Python 3.7.1 中的重要變化
- Python 3.7.2 中的重要變化
- Python 3.6 有什么新變化A
- 摘要 - 發布重點
- 新的特性
- 其他語言特性修改
- 新增模塊
- 改進的模塊
- 性能優化
- Build and C API Changes
- 其他改進
- 棄用
- 移除
- 移植到Python 3.6
- Python 3.6.2 中的重要變化
- Python 3.6.4 中的重要變化
- Python 3.6.5 中的重要變化
- Python 3.6.7 中的重要變化
- Python 3.5 有什么新變化
- 摘要 - 發布重點
- 新的特性
- 其他語言特性修改
- 新增模塊
- 改進的模塊
- Other module-level changes
- 性能優化
- Build and C API Changes
- 棄用
- 移除
- Porting to Python 3.5
- Notable changes in Python 3.5.4
- What's New In Python 3.4
- 摘要 - 發布重點
- 新的特性
- 新增模塊
- 改進的模塊
- CPython Implementation Changes
- 棄用
- 移除
- Porting to Python 3.4
- Changed in 3.4.3
- What's New In Python 3.3
- 摘要 - 發布重點
- PEP 405: Virtual Environments
- PEP 420: Implicit Namespace Packages
- PEP 3118: New memoryview implementation and buffer protocol documentation
- PEP 393: Flexible String Representation
- PEP 397: Python Launcher for Windows
- PEP 3151: Reworking the OS and IO exception hierarchy
- PEP 380: Syntax for Delegating to a Subgenerator
- PEP 409: Suppressing exception context
- PEP 414: Explicit Unicode literals
- PEP 3155: Qualified name for classes and functions
- PEP 412: Key-Sharing Dictionary
- PEP 362: Function Signature Object
- PEP 421: Adding sys.implementation
- Using importlib as the Implementation of Import
- 其他語言特性修改
- A Finer-Grained Import Lock
- Builtin functions and types
- 新增模塊
- 改進的模塊
- 性能優化
- Build and C API Changes
- 棄用
- Porting to Python 3.3
- What's New In Python 3.2
- PEP 384: Defining a Stable ABI
- PEP 389: Argparse Command Line Parsing Module
- PEP 391: Dictionary Based Configuration for Logging
- PEP 3148: The concurrent.futures module
- PEP 3147: PYC Repository Directories
- PEP 3149: ABI Version Tagged .so Files
- PEP 3333: Python Web Server Gateway Interface v1.0.1
- 其他語言特性修改
- New, Improved, and Deprecated Modules
- 多線程
- 性能優化
- Unicode
- Codecs
- 文檔
- IDLE
- Code Repository
- Build and C API Changes
- Porting to Python 3.2
- What's New In Python 3.1
- PEP 372: Ordered Dictionaries
- PEP 378: Format Specifier for Thousands Separator
- 其他語言特性修改
- New, Improved, and Deprecated Modules
- 性能優化
- IDLE
- Build and C API Changes
- Porting to Python 3.1
- What's New In Python 3.0
- Common Stumbling Blocks
- Overview Of Syntax Changes
- Changes Already Present In Python 2.6
- Library Changes
- PEP 3101: A New Approach To String Formatting
- Changes To Exceptions
- Miscellaneous Other Changes
- Build and C API Changes
- 性能
- Porting To Python 3.0
- What's New in Python 2.7
- The Future for Python 2.x
- Changes to the Handling of Deprecation Warnings
- Python 3.1 Features
- PEP 372: Adding an Ordered Dictionary to collections
- PEP 378: Format Specifier for Thousands Separator
- PEP 389: The argparse Module for Parsing Command Lines
- PEP 391: Dictionary-Based Configuration For Logging
- PEP 3106: Dictionary Views
- PEP 3137: The memoryview Object
- 其他語言特性修改
- New and Improved Modules
- Build and C API Changes
- Other Changes and Fixes
- Porting to Python 2.7
- New Features Added to Python 2.7 Maintenance Releases
- Acknowledgements
- Python 2.6 有什么新變化
- Python 3.0
- Changes to the Development Process
- PEP 343: The 'with' statement
- PEP 366: Explicit Relative Imports From a Main Module
- PEP 370: Per-user site-packages Directory
- PEP 371: The multiprocessing Package
- PEP 3101: Advanced String Formatting
- PEP 3105: print As a Function
- PEP 3110: Exception-Handling Changes
- PEP 3112: Byte Literals
- PEP 3116: New I/O Library
- PEP 3118: Revised Buffer Protocol
- PEP 3119: Abstract Base Classes
- PEP 3127: Integer Literal Support and Syntax
- PEP 3129: Class Decorators
- PEP 3141: A Type Hierarchy for Numbers
- 其他語言特性修改
- New and Improved Modules
- Deprecations and Removals
- Build and C API Changes
- Porting to Python 2.6
- Acknowledgements
- What's New in Python 2.5
- PEP 308: Conditional Expressions
- PEP 309: Partial Function Application
- PEP 314: Metadata for Python Software Packages v1.1
- PEP 328: Absolute and Relative Imports
- PEP 338: Executing Modules as Scripts
- PEP 341: Unified try/except/finally
- PEP 342: New Generator Features
- PEP 343: The 'with' statement
- PEP 352: Exceptions as New-Style Classes
- PEP 353: Using ssize_t as the index type
- PEP 357: The 'index' method
- 其他語言特性修改
- New, Improved, and Removed Modules
- Build and C API Changes
- Porting to Python 2.5
- Acknowledgements
- What's New in Python 2.4
- PEP 218: Built-In Set Objects
- PEP 237: Unifying Long Integers and Integers
- PEP 289: Generator Expressions
- PEP 292: Simpler String Substitutions
- PEP 318: Decorators for Functions and Methods
- PEP 322: Reverse Iteration
- PEP 324: New subprocess Module
- PEP 327: Decimal Data Type
- PEP 328: Multi-line Imports
- PEP 331: Locale-Independent Float/String Conversions
- 其他語言特性修改
- New, Improved, and Deprecated Modules
- Build and C API Changes
- Porting to Python 2.4
- Acknowledgements
- What's New in Python 2.3
- PEP 218: A Standard Set Datatype
- PEP 255: Simple Generators
- PEP 263: Source Code Encodings
- PEP 273: Importing Modules from ZIP Archives
- PEP 277: Unicode file name support for Windows NT
- PEP 278: Universal Newline Support
- PEP 279: enumerate()
- PEP 282: The logging Package
- PEP 285: A Boolean Type
- PEP 293: Codec Error Handling Callbacks
- PEP 301: Package Index and Metadata for Distutils
- PEP 302: New Import Hooks
- PEP 305: Comma-separated Files
- PEP 307: Pickle Enhancements
- Extended Slices
- 其他語言特性修改
- New, Improved, and Deprecated Modules
- Pymalloc: A Specialized Object Allocator
- Build and C API Changes
- Other Changes and Fixes
- Porting to Python 2.3
- Acknowledgements
- What's New in Python 2.2
- 概述
- PEPs 252 and 253: Type and Class Changes
- PEP 234: Iterators
- PEP 255: Simple Generators
- PEP 237: Unifying Long Integers and Integers
- PEP 238: Changing the Division Operator
- Unicode Changes
- PEP 227: Nested Scopes
- New and Improved Modules
- Interpreter Changes and Fixes
- Other Changes and Fixes
- Acknowledgements
- What's New in Python 2.1
- 概述
- PEP 227: Nested Scopes
- PEP 236: future Directives
- PEP 207: Rich Comparisons
- PEP 230: Warning Framework
- PEP 229: New Build System
- PEP 205: Weak References
- PEP 232: Function Attributes
- PEP 235: Importing Modules on Case-Insensitive Platforms
- PEP 217: Interactive Display Hook
- PEP 208: New Coercion Model
- PEP 241: Metadata in Python Packages
- New and Improved Modules
- Other Changes and Fixes
- Acknowledgements
- What's New in Python 2.0
- 概述
- What About Python 1.6?
- New Development Process
- Unicode
- 列表推導式
- Augmented Assignment
- 字符串的方法
- Garbage Collection of Cycles
- Other Core Changes
- Porting to 2.0
- Extending/Embedding Changes
- Distutils: Making Modules Easy to Install
- XML Modules
- Module changes
- New modules
- IDLE Improvements
- Deleted and Deprecated Modules
- Acknowledgements
- 更新日志
- Python 下一版
- Python 3.7.3 最終版
- Python 3.7.3 發布候選版 1
- Python 3.7.2 最終版
- Python 3.7.2 發布候選版 1
- Python 3.7.1 最終版
- Python 3.7.1 RC 2版本
- Python 3.7.1 發布候選版 1
- Python 3.7.0 正式版
- Python 3.7.0 release candidate 1
- Python 3.7.0 beta 5
- Python 3.7.0 beta 4
- Python 3.7.0 beta 3
- Python 3.7.0 beta 2
- Python 3.7.0 beta 1
- Python 3.7.0 alpha 4
- Python 3.7.0 alpha 3
- Python 3.7.0 alpha 2
- Python 3.7.0 alpha 1
- Python 3.6.6 final
- Python 3.6.6 RC 1
- Python 3.6.5 final
- Python 3.6.5 release candidate 1
- Python 3.6.4 final
- Python 3.6.4 release candidate 1
- Python 3.6.3 final
- Python 3.6.3 release candidate 1
- Python 3.6.2 final
- Python 3.6.2 release candidate 2
- Python 3.6.2 release candidate 1
- Python 3.6.1 final
- Python 3.6.1 release candidate 1
- Python 3.6.0 final
- Python 3.6.0 release candidate 2
- Python 3.6.0 release candidate 1
- Python 3.6.0 beta 4
- Python 3.6.0 beta 3
- Python 3.6.0 beta 2
- Python 3.6.0 beta 1
- Python 3.6.0 alpha 4
- Python 3.6.0 alpha 3
- Python 3.6.0 alpha 2
- Python 3.6.0 alpha 1
- Python 3.5.5 final
- Python 3.5.5 release candidate 1
- Python 3.5.4 final
- Python 3.5.4 release candidate 1
- Python 3.5.3 final
- Python 3.5.3 release candidate 1
- Python 3.5.2 final
- Python 3.5.2 release candidate 1
- Python 3.5.1 final
- Python 3.5.1 release candidate 1
- Python 3.5.0 final
- Python 3.5.0 release candidate 4
- Python 3.5.0 release candidate 3
- Python 3.5.0 release candidate 2
- Python 3.5.0 release candidate 1
- Python 3.5.0 beta 4
- Python 3.5.0 beta 3
- Python 3.5.0 beta 2
- Python 3.5.0 beta 1
- Python 3.5.0 alpha 4
- Python 3.5.0 alpha 3
- Python 3.5.0 alpha 2
- Python 3.5.0 alpha 1
- Python 教程
- 課前甜點
- 使用 Python 解釋器
- 調用解釋器
- 解釋器的運行環境
- Python 的非正式介紹
- Python 作為計算器使用
- 走向編程的第一步
- 其他流程控制工具
- if 語句
- for 語句
- range() 函數
- break 和 continue 語句,以及循環中的 else 子句
- pass 語句
- 定義函數
- 函數定義的更多形式
- 小插曲:編碼風格
- 數據結構
- 列表的更多特性
- del 語句
- 元組和序列
- 集合
- 字典
- 循環的技巧
- 深入條件控制
- 序列和其它類型的比較
- 模塊
- 有關模塊的更多信息
- 標準模塊
- dir() 函數
- 包
- 輸入輸出
- 更漂亮的輸出格式
- 讀寫文件
- 錯誤和異常
- 語法錯誤
- 異常
- 處理異常
- 拋出異常
- 用戶自定義異常
- 定義清理操作
- 預定義的清理操作
- 類
- 名稱和對象
- Python 作用域和命名空間
- 初探類
- 補充說明
- 繼承
- 私有變量
- 雜項說明
- 迭代器
- 生成器
- 生成器表達式
- 標準庫簡介
- 操作系統接口
- 文件通配符
- 命令行參數
- 錯誤輸出重定向和程序終止
- 字符串模式匹配
- 數學
- 互聯網訪問
- 日期和時間
- 數據壓縮
- 性能測量
- 質量控制
- 自帶電池
- 標準庫簡介 —— 第二部分
- 格式化輸出
- 模板
- 使用二進制數據記錄格式
- 多線程
- 日志
- 弱引用
- 用于操作列表的工具
- 十進制浮點運算
- 虛擬環境和包
- 概述
- 創建虛擬環境
- 使用pip管理包
- 接下來?
- 交互式編輯和編輯歷史
- Tab 補全和編輯歷史
- 默認交互式解釋器的替代品
- 浮點算術:爭議和限制
- 表示性錯誤
- 附錄
- 交互模式
- 安裝和使用 Python
- 命令行與環境
- 命令行
- 環境變量
- 在Unix平臺中使用Python
- 獲取最新版本的Python
- 構建Python
- 與Python相關的路徑和文件
- 雜項
- 編輯器和集成開發環境
- 在Windows上使用 Python
- 完整安裝程序
- Microsoft Store包
- nuget.org 安裝包
- 可嵌入的包
- 替代捆綁包
- 配置Python
- 適用于Windows的Python啟動器
- 查找模塊
- 附加模塊
- 在Windows上編譯Python
- 其他平臺
- 在蘋果系統上使用 Python
- 獲取和安裝 MacPython
- IDE
- 安裝額外的 Python 包
- Mac 上的圖形界面編程
- 在 Mac 上分發 Python 應用程序
- 其他資源
- Python 語言參考
- 概述
- 其他實現
- 標注
- 詞法分析
- 行結構
- 其他形符
- 標識符和關鍵字
- 字面值
- 運算符
- 分隔符
- 數據模型
- 對象、值與類型
- 標準類型層級結構
- 特殊方法名稱
- 協程
- 執行模型
- 程序的結構
- 命名與綁定
- 異常
- 導入系統
- importlib
- 包
- 搜索
- 加載
- 基于路徑的查找器
- 替換標準導入系統
- Package Relative Imports
- 有關 main 的特殊事項
- 開放問題項
- 參考文獻
- 表達式
- 算術轉換
- 原子
- 原型
- await 表達式
- 冪運算符
- 一元算術和位運算
- 二元算術運算符
- 移位運算
- 二元位運算
- 比較運算
- 布爾運算
- 條件表達式
- lambda 表達式
- 表達式列表
- 求值順序
- 運算符優先級
- 簡單語句
- 表達式語句
- 賦值語句
- assert 語句
- pass 語句
- del 語句
- return 語句
- yield 語句
- raise 語句
- break 語句
- continue 語句
- import 語句
- global 語句
- nonlocal 語句
- 復合語句
- if 語句
- while 語句
- for 語句
- try 語句
- with 語句
- 函數定義
- 類定義
- 協程
- 最高層級組件
- 完整的 Python 程序
- 文件輸入
- 交互式輸入
- 表達式輸入
- 完整的語法規范
- Python 標準庫
- 概述
- 可用性注釋
- 內置函數
- 內置常量
- 由 site 模塊添加的常量
- 內置類型
- 邏輯值檢測
- 布爾運算 — and, or, not
- 比較
- 數字類型 — int, float, complex
- 迭代器類型
- 序列類型 — list, tuple, range
- 文本序列類型 — str
- 二進制序列類型 — bytes, bytearray, memoryview
- 集合類型 — set, frozenset
- 映射類型 — dict
- 上下文管理器類型
- 其他內置類型
- 特殊屬性
- 內置異常
- 基類
- 具體異常
- 警告
- 異常層次結構
- 文本處理服務
- string — 常見的字符串操作
- re — 正則表達式操作
- 模塊 difflib 是一個計算差異的助手
- textwrap — Text wrapping and filling
- unicodedata — Unicode 數據庫
- stringprep — Internet String Preparation
- readline — GNU readline interface
- rlcompleter — GNU readline的完成函數
- 二進制數據服務
- struct — Interpret bytes as packed binary data
- codecs — Codec registry and base classes
- 數據類型
- datetime — 基礎日期/時間數據類型
- calendar — General calendar-related functions
- collections — 容器數據類型
- collections.abc — 容器的抽象基類
- heapq — 堆隊列算法
- bisect — Array bisection algorithm
- array — Efficient arrays of numeric values
- weakref — 弱引用
- types — Dynamic type creation and names for built-in types
- copy — 淺層 (shallow) 和深層 (deep) 復制操作
- pprint — 數據美化輸出
- reprlib — Alternate repr() implementation
- enum — Support for enumerations
- 數字和數學模塊
- numbers — 數字的抽象基類
- math — 數學函數
- cmath — Mathematical functions for complex numbers
- decimal — 十進制定點和浮點運算
- fractions — 分數
- random — 生成偽隨機數
- statistics — Mathematical statistics functions
- 函數式編程模塊
- itertools — 為高效循環而創建迭代器的函數
- functools — 高階函數和可調用對象上的操作
- operator — 標準運算符替代函數
- 文件和目錄訪問
- pathlib — 面向對象的文件系統路徑
- os.path — 常見路徑操作
- fileinput — Iterate over lines from multiple input streams
- stat — Interpreting stat() results
- filecmp — File and Directory Comparisons
- tempfile — Generate temporary files and directories
- glob — Unix style pathname pattern expansion
- fnmatch — Unix filename pattern matching
- linecache — Random access to text lines
- shutil — High-level file operations
- macpath — Mac OS 9 路徑操作函數
- 數據持久化
- pickle —— Python 對象序列化
- copyreg — Register pickle support functions
- shelve — Python object persistence
- marshal — Internal Python object serialization
- dbm — Interfaces to Unix “databases”
- sqlite3 — SQLite 數據庫 DB-API 2.0 接口模塊
- 數據壓縮和存檔
- zlib — 與 gzip 兼容的壓縮
- gzip — 對 gzip 格式的支持
- bz2 — 對 bzip2 壓縮算法的支持
- lzma — 用 LZMA 算法壓縮
- zipfile — 在 ZIP 歸檔中工作
- tarfile — Read and write tar archive files
- 文件格式
- csv — CSV 文件讀寫
- configparser — Configuration file parser
- netrc — netrc file processing
- xdrlib — Encode and decode XDR data
- plistlib — Generate and parse Mac OS X .plist files
- 加密服務
- hashlib — 安全哈希與消息摘要
- hmac — 基于密鑰的消息驗證
- secrets — Generate secure random numbers for managing secrets
- 通用操作系統服務
- os — 操作系統接口模塊
- io — 處理流的核心工具
- time — 時間的訪問和轉換
- argparse — 命令行選項、參數和子命令解析器
- getopt — C-style parser for command line options
- 模塊 logging — Python 的日志記錄工具
- logging.config — 日志記錄配置
- logging.handlers — Logging handlers
- getpass — 便攜式密碼輸入工具
- curses — 終端字符單元顯示的處理
- curses.textpad — Text input widget for curses programs
- curses.ascii — Utilities for ASCII characters
- curses.panel — A panel stack extension for curses
- platform — Access to underlying platform's identifying data
- errno — Standard errno system symbols
- ctypes — Python 的外部函數庫
- 并發執行
- threading — 基于線程的并行
- multiprocessing — 基于進程的并行
- concurrent 包
- concurrent.futures — 啟動并行任務
- subprocess — 子進程管理
- sched — 事件調度器
- queue — 一個同步的隊列類
- _thread — 底層多線程 API
- _dummy_thread — _thread 的替代模塊
- dummy_threading — 可直接替代 threading 模塊。
- contextvars — Context Variables
- Context Variables
- Manual Context Management
- asyncio support
- 網絡和進程間通信
- asyncio — 異步 I/O
- socket — 底層網絡接口
- ssl — TLS/SSL wrapper for socket objects
- select — Waiting for I/O completion
- selectors — 高級 I/O 復用庫
- asyncore — 異步socket處理器
- asynchat — 異步 socket 指令/響應 處理器
- signal — Set handlers for asynchronous events
- mmap — Memory-mapped file support
- 互聯網數據處理
- email — 電子郵件與 MIME 處理包
- json — JSON 編碼和解碼器
- mailcap — Mailcap file handling
- mailbox — Manipulate mailboxes in various formats
- mimetypes — Map filenames to MIME types
- base64 — Base16, Base32, Base64, Base85 數據編碼
- binhex — 對binhex4文件進行編碼和解碼
- binascii — 二進制和 ASCII 碼互轉
- quopri — Encode and decode MIME quoted-printable data
- uu — Encode and decode uuencode files
- 結構化標記處理工具
- html — 超文本標記語言支持
- html.parser — 簡單的 HTML 和 XHTML 解析器
- html.entities — HTML 一般實體的定義
- XML處理模塊
- xml.etree.ElementTree — The ElementTree XML API
- xml.dom — The Document Object Model API
- xml.dom.minidom — Minimal DOM implementation
- xml.dom.pulldom — Support for building partial DOM trees
- xml.sax — Support for SAX2 parsers
- xml.sax.handler — Base classes for SAX handlers
- xml.sax.saxutils — SAX Utilities
- xml.sax.xmlreader — Interface for XML parsers
- xml.parsers.expat — Fast XML parsing using Expat
- 互聯網協議和支持
- webbrowser — 方便的Web瀏覽器控制器
- cgi — Common Gateway Interface support
- cgitb — Traceback manager for CGI scripts
- wsgiref — WSGI Utilities and Reference Implementation
- urllib — URL 處理模塊
- urllib.request — 用于打開 URL 的可擴展庫
- urllib.response — Response classes used by urllib
- urllib.parse — Parse URLs into components
- urllib.error — Exception classes raised by urllib.request
- urllib.robotparser — Parser for robots.txt
- http — HTTP 模塊
- http.client — HTTP協議客戶端
- ftplib — FTP protocol client
- poplib — POP3 protocol client
- imaplib — IMAP4 protocol client
- nntplib — NNTP protocol client
- smtplib —SMTP協議客戶端
- smtpd — SMTP Server
- telnetlib — Telnet client
- uuid — UUID objects according to RFC 4122
- socketserver — A framework for network servers
- http.server — HTTP 服務器
- http.cookies — HTTP state management
- http.cookiejar — Cookie handling for HTTP clients
- xmlrpc — XMLRPC 服務端與客戶端模塊
- xmlrpc.client — XML-RPC client access
- xmlrpc.server — Basic XML-RPC servers
- ipaddress — IPv4/IPv6 manipulation library
- 多媒體服務
- audioop — Manipulate raw audio data
- aifc — Read and write AIFF and AIFC files
- sunau — 讀寫 Sun AU 文件
- wave — 讀寫WAV格式文件
- chunk — Read IFF chunked data
- colorsys — Conversions between color systems
- imghdr — 推測圖像類型
- sndhdr — 推測聲音文件的類型
- ossaudiodev — Access to OSS-compatible audio devices
- 國際化
- gettext — 多語種國際化服務
- locale — 國際化服務
- 程序框架
- turtle — 海龜繪圖
- cmd — 支持面向行的命令解釋器
- shlex — Simple lexical analysis
- Tk圖形用戶界面(GUI)
- tkinter — Tcl/Tk的Python接口
- tkinter.ttk — Tk themed widgets
- tkinter.tix — Extension widgets for Tk
- tkinter.scrolledtext — 滾動文字控件
- IDLE
- 其他圖形用戶界面(GUI)包
- 開發工具
- typing — 類型標注支持
- pydoc — Documentation generator and online help system
- doctest — Test interactive Python examples
- unittest — 單元測試框架
- unittest.mock — mock object library
- unittest.mock 上手指南
- 2to3 - 自動將 Python 2 代碼轉為 Python 3 代碼
- test — Regression tests package for Python
- test.support — Utilities for the Python test suite
- test.support.script_helper — Utilities for the Python execution tests
- 調試和分析
- bdb — Debugger framework
- faulthandler — Dump the Python traceback
- pdb — The Python Debugger
- The Python Profilers
- timeit — 測量小代碼片段的執行時間
- trace — Trace or track Python statement execution
- tracemalloc — Trace memory allocations
- 軟件打包和分發
- distutils — 構建和安裝 Python 模塊
- ensurepip — Bootstrapping the pip installer
- venv — 創建虛擬環境
- zipapp — Manage executable Python zip archives
- Python運行時服務
- sys — 系統相關的參數和函數
- sysconfig — Provide access to Python's configuration information
- builtins — 內建對象
- main — 頂層腳本環境
- warnings — Warning control
- dataclasses — 數據類
- contextlib — Utilities for with-statement contexts
- abc — 抽象基類
- atexit — 退出處理器
- traceback — Print or retrieve a stack traceback
- future — Future 語句定義
- gc — 垃圾回收器接口
- inspect — 檢查對象
- site — Site-specific configuration hook
- 自定義 Python 解釋器
- code — Interpreter base classes
- codeop — Compile Python code
- 導入模塊
- zipimport — Import modules from Zip archives
- pkgutil — Package extension utility
- modulefinder — 查找腳本使用的模塊
- runpy — Locating and executing Python modules
- importlib — The implementation of import
- Python 語言服務
- parser — Access Python parse trees
- ast — 抽象語法樹
- symtable — Access to the compiler's symbol tables
- symbol — 與 Python 解析樹一起使用的常量
- token — 與Python解析樹一起使用的常量
- keyword — 檢驗Python關鍵字
- tokenize — Tokenizer for Python source
- tabnanny — 模糊縮進檢測
- pyclbr — Python class browser support
- py_compile — Compile Python source files
- compileall — Byte-compile Python libraries
- dis — Python 字節碼反匯編器
- pickletools — Tools for pickle developers
- 雜項服務
- formatter — Generic output formatting
- Windows系統相關模塊
- msilib — Read and write Microsoft Installer files
- msvcrt — Useful routines from the MS VC++ runtime
- winreg — Windows 注冊表訪問
- winsound — Sound-playing interface for Windows
- Unix 專有服務
- posix — The most common POSIX system calls
- pwd — 用戶密碼數據庫
- spwd — The shadow password database
- grp — The group database
- crypt — Function to check Unix passwords
- termios — POSIX style tty control
- tty — 終端控制功能
- pty — Pseudo-terminal utilities
- fcntl — The fcntl and ioctl system calls
- pipes — Interface to shell pipelines
- resource — Resource usage information
- nis — Interface to Sun's NIS (Yellow Pages)
- Unix syslog 庫例程
- 被取代的模塊
- optparse — Parser for command line options
- imp — Access the import internals
- 未創建文檔的模塊
- 平臺特定模塊
- 擴展和嵌入 Python 解釋器
- 推薦的第三方工具
- 不使用第三方工具創建擴展
- 使用 C 或 C++ 擴展 Python
- 自定義擴展類型:教程
- 定義擴展類型:已分類主題
- 構建C/C++擴展
- 在Windows平臺編譯C和C++擴展
- 在更大的應用程序中嵌入 CPython 運行時
- Embedding Python in Another Application
- Python/C API 參考手冊
- 概述
- 代碼標準
- 包含文件
- 有用的宏
- 對象、類型和引用計數
- 異常
- 嵌入Python
- 調試構建
- 穩定的應用程序二進制接口
- The Very High Level Layer
- Reference Counting
- 異常處理
- Printing and clearing
- 拋出異常
- Issuing warnings
- Querying the error indicator
- Signal Handling
- Exception Classes
- Exception Objects
- Unicode Exception Objects
- Recursion Control
- 標準異常
- 標準警告類別
- 工具
- 操作系統實用程序
- 系統功能
- 過程控制
- 導入模塊
- Data marshalling support
- 語句解釋及變量編譯
- 字符串轉換與格式化
- 反射
- 編解碼器注冊與支持功能
- 抽象對象層
- Object Protocol
- 數字協議
- Sequence Protocol
- Mapping Protocol
- 迭代器協議
- 緩沖協議
- Old Buffer Protocol
- 具體的對象層
- 基本對象
- 數值對象
- 序列對象
- 容器對象
- 函數對象
- 其他對象
- Initialization, Finalization, and Threads
- 在Python初始化之前
- 全局配置變量
- Initializing and finalizing the interpreter
- Process-wide parameters
- Thread State and the Global Interpreter Lock
- Sub-interpreter support
- Asynchronous Notifications
- Profiling and Tracing
- Advanced Debugger Support
- Thread Local Storage Support
- 內存管理
- 概述
- 原始內存接口
- Memory Interface
- 對象分配器
- 默認內存分配器
- Customize Memory Allocators
- The pymalloc allocator
- tracemalloc C API
- 示例
- 對象實現支持
- 在堆中分配對象
- Common Object Structures
- Type 對象
- Number Object Structures
- Mapping Object Structures
- Sequence Object Structures
- Buffer Object Structures
- Async Object Structures
- 使對象類型支持循環垃圾回收
- API 和 ABI 版本管理
- 分發 Python 模塊
- 關鍵術語
- 開源許可與協作
- 安裝工具
- 閱讀指南
- 我該如何...?
- ...為我的項目選擇一個名字?
- ...創建和分發二進制擴展?
- 安裝 Python 模塊
- 關鍵術語
- 基本使用
- 我應如何 ...?
- ... 在 Python 3.4 之前的 Python 版本中安裝 pip ?
- ... 只為當前用戶安裝軟件包?
- ... 安裝科學計算類 Python 軟件包?
- ... 使用并行安裝的多個 Python 版本?
- 常見的安裝問題
- 在 Linux 的系統 Python 版本上安裝
- 未安裝 pip
- 安裝二進制編譯擴展
- Python 常用指引
- 將 Python 2 代碼遷移到 Python 3
- 簡要說明
- 詳情
- 將擴展模塊移植到 Python 3
- 條件編譯
- 對象API的更改
- 模塊初始化和狀態
- CObject 替換為 Capsule
- 其他選項
- Curses Programming with Python
- What is curses?
- Starting and ending a curses application
- Windows and Pads
- Displaying Text
- User Input
- For More Information
- 實現描述器
- 摘要
- 定義和簡介
- 描述器協議
- 發起調用描述符
- 描述符示例
- Properties
- 函數和方法
- Static Methods and Class Methods
- 函數式編程指引
- 概述
- 迭代器
- 生成器表達式和列表推導式
- 生成器
- 內置函數
- itertools 模塊
- The functools module
- Small functions and the lambda expression
- Revision History and Acknowledgements
- 引用文獻
- 日志 HOWTO
- 日志基礎教程
- 進階日志教程
- 日志級別
- 有用的處理程序
- 記錄日志中引發的異常
- 使用任意對象作為消息
- 優化
- 日志操作手冊
- 在多個模塊中使用日志
- 在多線程中使用日志
- 使用多個日志處理器和多種格式化
- 在多個地方記錄日志
- 日志服務器配置示例
- 處理日志處理器的阻塞
- Sending and receiving logging events across a network
- Adding contextual information to your logging output
- Logging to a single file from multiple processes
- Using file rotation
- Use of alternative formatting styles
- Customizing LogRecord
- Subclassing QueueHandler - a ZeroMQ example
- Subclassing QueueListener - a ZeroMQ example
- An example dictionary-based configuration
- Using a rotator and namer to customize log rotation processing
- A more elaborate multiprocessing example
- Inserting a BOM into messages sent to a SysLogHandler
- Implementing structured logging
- Customizing handlers with dictConfig()
- Using particular formatting styles throughout your application
- Configuring filters with dictConfig()
- Customized exception formatting
- Speaking logging messages
- Buffering logging messages and outputting them conditionally
- Formatting times using UTC (GMT) via configuration
- Using a context manager for selective logging
- 正則表達式HOWTO
- 概述
- 簡單模式
- 使用正則表達式
- 更多模式能力
- 修改字符串
- 常見問題
- 反饋
- 套接字編程指南
- 套接字
- 創建套接字
- 使用一個套接字
- 斷開連接
- 非阻塞的套接字
- 排序指南
- 基本排序
- 關鍵函數
- Operator 模塊函數
- 升序和降序
- 排序穩定性和排序復雜度
- 使用裝飾-排序-去裝飾的舊方法
- 使用 cmp 參數的舊方法
- 其它
- Unicode 指南
- Unicode 概述
- Python's Unicode Support
- Reading and Writing Unicode Data
- Acknowledgements
- 如何使用urllib包獲取網絡資源
- 概述
- Fetching URLs
- 處理異常
- info and geturl
- Openers and Handlers
- Basic Authentication
- Proxies
- Sockets and Layers
- 腳注
- Argparse 教程
- 概念
- 基礎
- 位置參數介紹
- Introducing Optional arguments
- Combining Positional and Optional arguments
- Getting a little more advanced
- Conclusion
- ipaddress模塊介紹
- 創建 Address/Network/Interface 對象
- 審查 Address/Network/Interface 對象
- Network 作為 Address 列表
- 比較
- 將IP地址與其他模塊一起使用
- 實例創建失敗時獲取更多詳細信息
- Argument Clinic How-To
- The Goals Of Argument Clinic
- Basic Concepts And Usage
- Converting Your First Function
- Advanced Topics
- 使用 DTrace 和 SystemTap 檢測CPython
- Enabling the static markers
- Static DTrace probes
- Static SystemTap markers
- Available static markers
- SystemTap Tapsets
- 示例
- Python 常見問題
- Python常見問題
- 一般信息
- 現實世界中的 Python
- 編程常見問題
- 一般問題
- 核心語言
- 數字和字符串
- 性能
- 序列(元組/列表)
- 對象
- 模塊
- 設計和歷史常見問題
- 為什么Python使用縮進來分組語句?
- 為什么簡單的算術運算得到奇怪的結果?
- 為什么浮點計算不準確?
- 為什么Python字符串是不可變的?
- 為什么必須在方法定義和調用中顯式使用“self”?
- 為什么不能在表達式中賦值?
- 為什么Python對某些功能(例如list.index())使用方法來實現,而其他功能(例如len(List))使用函數實現?
- 為什么 join()是一個字符串方法而不是列表或元組方法?
- 異常有多快?
- 為什么Python中沒有switch或case語句?
- 難道不能在解釋器中模擬線程,而非得依賴特定于操作系統的線程實現嗎?
- 為什么lambda表達式不能包含語句?
- 可以將Python編譯為機器代碼,C或其他語言嗎?
- Python如何管理內存?
- 為什么CPython不使用更傳統的垃圾回收方案?
- CPython退出時為什么不釋放所有內存?
- 為什么有單獨的元組和列表數據類型?
- 列表是如何在CPython中實現的?
- 字典是如何在CPython中實現的?
- 為什么字典key必須是不可變的?
- 為什么 list.sort() 沒有返回排序列表?
- 如何在Python中指定和實施接口規范?
- 為什么沒有goto?
- 為什么原始字符串(r-strings)不能以反斜杠結尾?
- 為什么Python沒有屬性賦值的“with”語句?
- 為什么 if/while/def/class語句需要冒號?
- 為什么Python在列表和元組的末尾允許使用逗號?
- 代碼庫和插件 FAQ
- 通用的代碼庫問題
- 通用任務
- 線程相關
- 輸入輸出
- 網絡 / Internet 編程
- 數據庫
- 數學和數字
- 擴展/嵌入常見問題
- 可以使用C語言中創建自己的函數嗎?
- 可以使用C++語言中創建自己的函數嗎?
- C很難寫,有沒有其他選擇?
- 如何從C執行任意Python語句?
- 如何從C中評估任意Python表達式?
- 如何從Python對象中提取C的值?
- 如何使用Py_BuildValue()創建任意長度的元組?
- 如何從C調用對象的方法?
- 如何捕獲PyErr_Print()(或打印到stdout / stderr的任何內容)的輸出?
- 如何從C訪問用Python編寫的模塊?
- 如何從Python接口到C ++對象?
- 我使用Setup文件添加了一個模塊,為什么make失敗了?
- 如何調試擴展?
- 我想在Linux系統上編譯一個Python模塊,但是缺少一些文件。為什么?
- 如何區分“輸入不完整”和“輸入無效”?
- 如何找到未定義的g++符號__builtin_new或__pure_virtual?
- 能否創建一個對象類,其中部分方法在C中實現,而其他方法在Python中實現(例如通過繼承)?
- Python在Windows上的常見問題
- 我怎樣在Windows下運行一個Python程序?
- 我怎么讓 Python 腳本可執行?
- 為什么有時候 Python 程序會啟動緩慢?
- 我怎樣使用Python腳本制作可執行文件?
- *.pyd 文件和DLL文件相同嗎?
- 我怎樣將Python嵌入一個Windows程序?
- 如何讓編輯器不要在我的 Python 源代碼中插入 tab ?
- 如何在不阻塞的情況下檢查按鍵?
- 圖形用戶界面(GUI)常見問題
- 圖形界面常見問題
- Python 是否有平臺無關的圖形界面工具包?
- 有哪些Python的GUI工具是某個平臺專用的?
- 有關Tkinter的問題
- “為什么我的電腦上安裝了 Python ?”
- 什么是Python?
- 為什么我的電腦上安裝了 Python ?
- 我能刪除 Python 嗎?
- 術語對照表
- 文檔說明
- Python 文檔貢獻者
- 解決 Bug
- 文檔錯誤
- 使用 Python 的錯誤追蹤系統
- 開始為 Python 貢獻您的知識
- 版權
- 歷史和許可證
- 軟件歷史
- 訪問Python或以其他方式使用Python的條款和條件
- Python 3.7.3 的 PSF 許可協議
- Python 2.0 的 BeOpen.com 許可協議
- Python 1.6.1 的 CNRI 許可協議
- Python 0.9.0 至 1.2 的 CWI 許可協議
- 集成軟件的許可和認可
- Mersenne Twister
- 套接字
- Asynchronous socket services
- Cookie management
- Execution tracing
- UUencode and UUdecode functions
- XML Remote Procedure Calls
- test_epoll
- Select kqueue
- SipHash24
- strtod and dtoa
- OpenSSL
- expat
- libffi
- zlib
- cfuhash
- libmpdec