最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python?sys模塊使用方法介紹

 更新時(shí)間:2023年01月15日 11:52:13   作者:智杰  
sys模塊功能多,我們這里介紹一些比較實(shí)用的功能,相信你會(huì)喜歡的,和我一起走進(jìn)python的模塊吧

python sys模塊用法

sys模塊功能多,我們這里介紹一些比較實(shí)用的功能,相信你會(huì)喜歡的,和我一起走進(jìn)python的模塊吧!

sys模塊的常見函數(shù)列表

  • sys.argv: 實(shí)現(xiàn)從程序外部向程序傳遞參數(shù)。

  • sys.exit([arg]): 程序中間的退出,arg=0為正常退出。

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

  • sys.setdefaultencoding(): 設(shè)置系統(tǒng)默認(rèn)編碼,執(zhí)行dir(sys)時(shí)不會(huì)看到這個(gè)方法,在解釋器中執(zhí)行不通過,可以先執(zhí)行reload(sys),在執(zhí)行 setdefaultencoding('utf8'),此時(shí)將系統(tǒng)默認(rèn)編碼設(shè)置為utf8。(見設(shè)置系統(tǒng)默認(rèn)編碼 )

  • sys.getfilesystemencoding(): 獲取文件系統(tǒng)使用編碼方式,Windows下返回'mbcs',mac下返回'utf-8'.

  • sys.path: 獲取指定模塊搜索路徑的字符串集合,可以將寫好的模塊放在得到的某個(gè)路徑下,就可以在程序中import時(shí)正確找到。

  • sys.platform: 獲取當(dāng)前系統(tǒng)平臺(tái)。

  • sys.stdin,sys.stdout,sys.stderr: stdin , stdout , 以及stderr 變量包含與標(biāo)準(zhǔn)I/O 流對(duì)應(yīng)的流對(duì)象. 如果需要更好地控制輸出,而print 不能滿足你的要求, 它們就是你所需要的. 你也可以替換它們, 這時(shí)候你就可以重定向輸出和輸入到其它設(shè)備( device ), 或者以非標(biāo)準(zhǔn)的方式處理它們

sys.argv

功能:在外部向程序內(nèi)部傳遞參數(shù)
示例:sys.py

#!/usr/bin/env python
import sys
print sys.argv[0]
print sys.argv[1]

運(yùn)行:

# python sys.py argv1
sys.py
argv1

自己動(dòng)手嘗試一下,領(lǐng)悟參數(shù)對(duì)應(yīng)關(guān)系

sys.exit(n)

功能:執(zhí)行到主程序末尾,解釋器自動(dòng)退出,但是如果需要中途退出程序,可以調(diào)用sys.exit函數(shù),帶有一個(gè)可選的整數(shù)參數(shù)返回給調(diào)用它的程序,表示你可以在主程序中捕獲對(duì)sys.exit的調(diào)用。(0是正常退出,其他為異常)

示例:exit.py

#!/usr/bin/env python
import sys
def exitfunc(value):
	print value
	sys.exit(0)

print "hello"

try:
	sys.exit(1)
except SystemExit,value:
	exitfunc(value)

print "come?"

運(yùn)行:

# python exit.py
hello
1

sys.path

功能:獲取指定模塊搜索路徑的字符串集合,可以將寫好的模塊放在得到的某個(gè)路徑下,就可以在程序中import時(shí)正確找到。

示例:

>>> import sys
>>> sys.path
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client']

sys.path.append("自定義模塊路徑")

sys.modules

功能:sys.modules是一個(gè)全局字典,該字典是python啟動(dòng)后就加載在內(nèi)存中。每當(dāng)程序員導(dǎo)入新的模塊,sys.modules將自動(dòng)記錄該模塊。當(dāng)?shù)诙卧賹?dǎo)入該模塊時(shí),python會(huì)直接到字典中查找,從而加快了程序運(yùn)行的速度。它擁有字典所擁有的一切方法。

示例:modules.py

#!/usr/bin/env python
import sys
print sys.modules.keys()

print sys.modules.values()

print sys.modules["os"]

運(yùn)行:

python modules.py
['copy_reg', 'sre_compile', '_sre', 'encodings', 'site', '__builtin__',......

sys.stdin\stdout\stderr

功能:stdin , stdout , 以及stderr 變量包含與標(biāo)準(zhǔn)I/O 流對(duì)應(yīng)的流對(duì)象. 如果需要更好地控制輸出,而print 不能滿足你的要求, 它們就是你所需要的. 你也可以替換它們, 這時(shí)候你就可以重定向輸出和輸入到其它設(shè)備( device ), 或者以非標(biāo)準(zhǔn)的方式處理它們

PS:python之sys模塊詳解

前言

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è)測(cè)試,如下圖:

在這里插入圖片描述

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

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import sys
a=2
if a<=2:
    sys.exit(8)
#注釋:退出python執(zhí)行程序,下面的代碼將不會(huì)執(zhí)行,如同shell中的exit一樣。

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

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import sys
print(sys.version)

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

3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)]

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

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import sys
print(sys.platform)

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

win32

sys.stdin.readline()與input

import sys
# sys.stdin.readline() 相當(dāng)于input,區(qū)別在于input不會(huì)讀入'\n'
aa = sys.stdin.readline()		# 輸入數(shù)據(jù)多一個(gè)'\n'
bb = input('請(qǐng)輸入:')
 
print(len(aa))		
print(len(bb))
 
#結(jié)果
i love DL
請(qǐng)輸入:i love DL
10
9

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

    22
    請(qǐng)輸入:22
    3
    2

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

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

sys.stdout與print

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

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

import sys

# sys.stdin.readline() 相當(dāng)于input,區(qū)別在于input不會(huì)讀入'\n'
aa = sys.stdin.readline()
bb = input('請(qǐng)輸入:')

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
請(qǐng)輸入:11
3
2

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

總結(jié)

# -*- coding: utf-8 -*-
# Python中sys模塊:該模塊提供對(duì)解釋器使用或維護(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)平臺(tái)名稱
# 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 	#返回平臺(tái)獨(dú)立的python文件安裝的位置
# sys.byteorder 		#本地字節(jié)規(guī)則的指示器,big-endian平臺(tái)的值是'big',little-endian平臺(tái)的值是'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
import sys #導(dǎo)入sys模塊

dir(sys) #dir()方法查看模塊中可用的方法
print(sys.getdefaultencoding()) #獲取系統(tǒng)當(dāng)前編碼,一般默認(rèn)為ascii.
print(sys.platform) # 獲取當(dāng)前系統(tǒng)平臺(tái). 如: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ù)

到此這篇關(guān)于python sys模塊使用方法介紹的文章就介紹到這了,更多相關(guān)python sys模塊使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

温州市| 烟台市| 新丰县| 拜泉县| 徐水县| 江达县| 明光市| 临夏县| 英山县| 凤凰县| 栾城县| 东安县| 河间市| 清远市| 门源| 双流县| 黄骅市| 山东省| 桑日县| 伊金霍洛旗| 保山市| 枞阳县| 天门市| 边坝县| 游戏| 白城市| 浦城县| 安龙县| 育儿| 乌兰察布市| 万州区| 洛浦县| 应用必备| 普兰店市| 巢湖市| 桑植县| 恩平市| 南召县| 仁怀市| 姚安县| 中宁县|