python標(biāo)準(zhǔn)庫學(xué)習(xí)之sys模塊詳解_第1頁
python標(biāo)準(zhǔn)庫學(xué)習(xí)之sys模塊詳解_第2頁
python標(biāo)準(zhǔn)庫學(xué)習(xí)之sys模塊詳解_第3頁
python標(biāo)準(zhǔn)庫學(xué)習(xí)之sys模塊詳解_第4頁
python標(biāo)準(zhǔn)庫學(xué)習(xí)之sys模塊詳解_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第python標(biāo)準(zhǔn)庫學(xué)習(xí)之sys模塊詳解目錄前言處理命令行參數(shù)sys.exit(n)退出程序,正常退出時(shí)exit(0)sys.version獲取Python解釋程序的版本信息sys.platform返回操作系統(tǒng)平臺名稱sys.stdin.readline()與inputsys.stdout與print總結(jié)補(bǔ)充:sys模塊的實(shí)例

前言

sys模塊是與python解釋器交互的一個(gè)接口。sys模塊提供了許多函數(shù)和變量來處理Python運(yùn)行時(shí)環(huán)境的不同部分。

處理命令行參數(shù)

在解釋器啟動(dòng)后,argv列表包含了傳遞給腳本的所有參數(shù),列表的第一個(gè)元素為腳本自身的名稱。

sys.argv[0]表示程序自身sys.argv[1]表示程序的第一個(gè)參數(shù)sys.argv[2]表示程序的第二個(gè)參數(shù)

可以做個(gè)測試,如下圖:

sys.exit(n)退出程序,正常退出時(shí)exit(0)

#!/usr/bin/envpython

#-*-coding:utf-8-*-

importsys

ifa=2:

sys.exit(8)

#注釋:退出python執(zhí)行程序,下面的代碼將不會執(zhí)行,如同shell中的exit一樣。

sys.version獲取Python解釋程序的版本信息

#!/usr/bin/envpython

#-*-coding:utf-8-*-

importsys

print(sys.version)

運(yùn)行結(jié)果:

3.7.0(v3.7.0:1bf9cc5093,Jun272025,04:59:51)[MSCv.191464bit(AMD64)]

sys.platform返回操作系統(tǒng)平臺名稱

#!/usr/bin/envpython

#-*-coding:utf-8-*-

importsys

print(sys.platform)

運(yùn)行結(jié)果:

win32

sys.stdin.readline()與input

importsys

#sys.stdin.readline()相當(dāng)于input,區(qū)別在于input不會讀入'\n'

aa=sys.stdin.readline()#輸入數(shù)據(jù)多一個(gè)'\n'

bb=input('請輸入:')

print(len(aa))

print(len(bb))

iloveDL

請輸入:iloveDL

9

運(yùn)行結(jié)果:

22請輸入:2232

可以看出:

①sys.stdin.readline()方式與input方式的區(qū)別是:len(aa)元素中多了一個(gè)\n換行符。即sys.stdin.readline()方式會讀入換行符。

②還有一個(gè)區(qū)別在于,input()里面可以直接傳入文本,然后打印出來。

sys.stdout與print

sys.stdout.write('hello'+'\n')

print('hello')

上面的兩種打印方式是等價(jià)的,例如:

importsys

#sys.stdin.readline()相當(dāng)于input,區(qū)別在于input不會讀入'\n'

aa=sys.stdin.readline()

bb=input('請輸入:')

sys.stdout.write(str(len(aa))+'\n')#默認(rèn)無法實(shí)現(xiàn)print方式的sep參數(shù)功能,所以需要手動(dòng)在后面添加一個(gè)換行符

print(len(bb))

運(yùn)行結(jié)果:

11請輸入:1132

注:sys.stdout.write(obj+\n)中的obj只能是字符串。

總結(jié)

#-*-coding:utf-8-*-

#Python中sys模塊:該模塊提供對解釋器使用或維護(hù)的一些變量的訪問,以及與解釋器強(qiáng)烈交互的函數(shù)

#sys.argv#命令行參數(shù)List,第一個(gè)元素是程序本身路徑

#sys.modules.keys()#返回所有已經(jīng)導(dǎo)入的模塊列表

#sys.exc_info()#獲取當(dāng)前正在處理的異常類,exc_type、exc_value、exc_traceback當(dāng)前處理的異常詳細(xì)信息

#sys.exit(n)#程序,正常退出時(shí)exit(0)

#sys.hexversion#獲取Python解釋程序的版本值,16進(jìn)制格式如:0x020403F0

#sys.version#獲取Python解釋程序的版本信息

#sys.maxint#最大的Int值

#sys.maxunicode#最大的Unicode值

#sys.modules#返回系統(tǒng)導(dǎo)入的模塊字段,key是模塊名,value是模塊

#sys.path#返回模塊的搜索路徑,初始化時(shí)使用PYTHONPATH環(huán)境變量的值

#sys.platform#返回操作系統(tǒng)平臺名稱

#sys.stdout#標(biāo)準(zhǔn)輸出

#sys.stdin#標(biāo)準(zhǔn)輸入

#sys.stderr#錯(cuò)誤輸出

#sys.exc_clear()#用來清除當(dāng)前線程所出現(xiàn)的當(dāng)前的或最近的錯(cuò)誤信息

#sys.exec_prefix#返回平臺獨(dú)立的python文件安裝的位置

#sys.byteorder#本地字節(jié)規(guī)則的指示器,big-endian平臺的值是'big',little-endian平臺的值是'little'

#sys.copyright#記錄python版權(quán)相關(guān)的東西

#sys.api_version#解釋器的C的API版本

#sys.version_info#獲取Python解釋器的版本信息

#sys.getwindowsversion#獲取Windows的版本

#sys.getdefaultencoding#返回當(dāng)前你所用的默認(rèn)的字符編碼格式

#sys.getfilesystemencoding#返回將Unicode文件名轉(zhuǎn)換成系統(tǒng)文件名的編碼的名字

#sys.setdefaultencoding(name)#用來設(shè)置當(dāng)前默認(rèn)的字符編碼

#sys.builtin_module_names#Python解釋器導(dǎo)入的模塊列表

#sys.executable#Python解釋程序路徑

#sys.stdin.readline#從標(biāo)準(zhǔn)輸入讀一行,sys.stdout.write("a")屏幕輸出a

importsys#導(dǎo)入sys模塊

dir(sys)#dir()方法查看模塊中可用的方法

print(sys.getdefaultencoding())#獲取系統(tǒng)當(dāng)前編碼,一般默認(rèn)為ascii.

print(sys.platform)#獲取當(dāng)前系統(tǒng)平臺.如:win32、Linux等。

print(sys.argv)#sys.argv變量是一個(gè)包含了命令行參數(shù)的字符串列表

#print(sys.path)

#print(sys.modules.keys())

#print(sys.modules.values())

sys.exit()#一般情況下執(zhí)行到主程序末尾,解釋器自動(dòng)退出,但是如果需要中途退出程序,可以調(diào)用sys.exit函數(shù)

補(bǔ)充:sys模塊的實(shí)例

在如下示例中,主要應(yīng)用了sys模塊中的argv實(shí)現(xiàn)了從程序外部向程序內(nèi)傳遞參數(shù),借助具體的案例讓大家可以對sys模塊使用能有更加深入的了解。

代碼如下:

fromsysimportargv#通過這種導(dǎo)入,直接使用argv

importos

defping(net,start=80,end=85,n=1,w=3):

foriinrange(start,end+1):

ip=net+"."+str(i)

command="ping%s-n%d-w%d"%(ip,n,w)

print(ip,("通","不通")[os.system(command)])#system用1,0表示通與不通,1不通,0通

#示例輸入

iflen(argv)notin[2,4,6]:

print("參數(shù)輸入錯(cuò)誤!")

print("1.py111.202.98")

print("1.py111.202.987080")

print("1.py111.202.98708015")

eliflen(argv)==2:

net=argv[1]

p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論