1. 程式人生 > >Python執行環境

Python執行環境

Python直譯器啟動

一,python[options][-c cmd | filename | - ] [args]

選項 描述
-3 啟用將從python 3中刪除或更改某些功能的警告
-B 阻止在匯入時建立.pyc或.pyo檔案
-E 忽略環境變數
-h 列印所有可用命令列選項的列表
-i 在程式執行後進入互動模式
-m module 以指令碼的形式執行庫模組module
-O 優化模式
-oo 優化迷失,在建立.pyo檔案時刪除文件字串
-Qarg 指定Python2找那個除法運算子的行為,值為-Qold(預設值),-Qnew,-Qwarn或-Qwarnall之一
-s 阻止將使用者站點目錄新增到sys.path
-S 阻止包含site初始化模組
-t 報告關於不一致的標籤使用警告
-tt 由於不一致的標籤使用而導致TabError異常
-u 未緩衝的二進位制stdout和stdin
-U Unicode字面量,所有字串字面量都以Unicode形式處理(僅在Python2中使用)
-v 詳細模式,跟蹤匯入語句
-V 列印版本號並退出
-x 跳過源程式的第一行
-c cmd 以字串形式執行cmd

環境變數 描述

PythonPath 以後號分隔的模組搜尋路徑
PythonStartup 在以互動方式啟動時執行的檔案
PythonHome Python安裝的位置
Pythonsopect 相當於-i選項
PythonBufferd 相當於-u選項
PythonToencoding 針對stdin,stdout和stderr的編碼和錯誤處理。這是一個encoding[:errors]形式的字串,如utf-8或utf-8:ignore

PythonDontWriteByteCode 相當於-B選項
PythonOptimize 相當於-O選項
PythonNouserSite 相當於-s選項
PythonVerBose 相當於-v選項
PythonUserBase 每個使用者站點包的根目錄
PythonCaseoK 指示為匯入所使用的模組名稱使用不區分大小寫的匹配方式。

Python 程式碼的測試,除錯與探查

一,如果函式,類或模組的第一行是一個字串,這個字串就稱為文件字串(docstrings)

二,內建函式help()或物件的預設方法__doc__可以顯示這些文件字串

def Sum(num1,num2):
“”"the sumary of num1 and num2.

sum(2,5)
7

sum(12,77)
89
“”"
return num1 + num2

help(sum)
help on function sum in module main

:
Sum(num1,num2)
the sumary of num1 and num2.

Sum(2,5)
7

Sum(12,77)
89

Sum.doc
‘the sumary of num1 and num2.\n\t>>> Sum(2,5)\n\t7\n\t>>> Sum(12,77)\n\t89\n\t’

doctest模組

一,doctest模組允許在文件字串內嵌入註釋以顯示各種語句的期望行為,尤其是函式和方法的結果

1,此處的文件字串看起來如同一個互動式shell會話
2,可用於測試文件是否與程式主體保持同步,或基於文件對程式本身做測試

自定義模組test:
#!/usr/bin/python

def add(num1,num2):
“”">>> add(12,43)
55
“”"
return num1 + num2
注意:"""的縮排跟其它縮排保持一致
使用doctest模組進行測試
>>> import test
>>> import doctest
>>> doctest.testmod(test)
TestResults(failed=0,attempted=1)
>>> doctest.testmod(test,verbose= True)
Trying:
add(12,43)
Expecting:
55
ok

doctest模組
一,建立可自測試的模組
1,在模組的尾部新增如下程式碼即可
·if name == ‘main’:
import doctest
doctest.testmod()
2,此類模組在python直譯器中直接執行時即能進行自我測試

例如:
[[email protected] /]# vim test.py

#!/usr/bin/python

def add(num1,num2):
“”" >>> add (12,43)
55
“”"
return num1 + num2

if name ==‘main’:
import doctest
doctest.testmod()

[[email protected] /]# ./test.py


File “./test.py”, line 4, in main.add
Failed example:
add (12,43)
Expected:
55
Got:
55


1 items had failures:
1 of 1 in main.add
Test Failed 1 failures.
[[email protected] /]# python test.py


File “test.py”, line 4, in main.add
Failed example:
add (12,43)
Expected:
55
Got:
55


1 items had failures:
1 of 1 in main.add
Test Failed 1 failures.
[[email protected] /]#