成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

如何使用python標(biāo)準(zhǔn)庫sys和OS的函數(shù)-創(chuàng)新互聯(lián)

本篇內(nèi)容介紹了“如何使用python標(biāo)準(zhǔn)庫sys和OS的函數(shù)”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

目前創(chuàng)新互聯(lián)已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管運(yùn)營、企業(yè)網(wǎng)站設(shè)計(jì)、關(guān)嶺網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

python標(biāo)準(zhǔn)庫sys

sys模塊包括了一組非常實(shí)用的服務(wù),內(nèi)含很多函數(shù)方法和變量,用來處理Python運(yùn)行時(shí)配置以及資源,從而可以與前當(dāng)程序之外的系統(tǒng)環(huán)境交互,如:python解釋器。

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

dir(sys)dir()方法查看模塊中可用的方法。注意:如果是在編輯器,一定要注意要事先聲明代碼的編碼方式,否則中文會亂碼。sys.argv實(shí)現(xiàn)從程序外部向程序傳遞參數(shù)sys.exit([arg])程序中間的退出,arg=0為正常退出sys.getdefaultencoding()獲取系統(tǒng)當(dāng)前編碼,一般默認(rèn)為asciisys.setdefaultencoding()設(shè)置系統(tǒng)默認(rèn)編碼,執(zhí)行dir(sys)時(shí)不會看到這個(gè)方法,在解釋器中執(zhí)行不通過,可以先執(zhí)行reload(sys),再執(zhí)行setdefaultencoding(‘utf8'),將系統(tǒng)編碼設(shè)置為utf8sys.getfilesystemencoding()獲取文件系統(tǒng)編碼方式,Windows下返回'mbcs',mac下返回'utf-8'sys.path獲取指定模塊搜索路徑的字符串集合,可以將寫好的模塊放在得到的某個(gè)路徑下,就可以在程序中import時(shí)正確找到sys.platform獲取當(dāng)前系統(tǒng)平臺。sys.stdinsys.stdoutsys.stderr stdin,stdout,以及stderr變量包含與標(biāo)準(zhǔn)I/O流對應(yīng)的流對象。如果需要更好地控制輸出,而print不能滿足要求,它們就是你所需要的。你也可以替換它們,重定向輸出和輸入到其它設(shè)備(device),或者以非標(biāo)準(zhǔn)的方式處理它們。sys.modules是一個(gè)全局字典,該字典是python啟動(dòng)后就加載在內(nèi)存中。每當(dāng)程序員導(dǎo)入新的模塊,sys.modules將自動(dòng)記錄該模塊。當(dāng)?shù)诙卧賹?dǎo)入該模塊時(shí),python會直接到字典中查找,從而加快程序運(yùn)行的速度。它擁有字典所擁有的一切方法。


python標(biāo)準(zhǔn)庫os

os模塊負(fù)責(zé)程序與操作系統(tǒng)的交互,提供了訪問操作系統(tǒng)底層的接口。

os模塊的常見函數(shù)列表(import os):

函數(shù)-說明:

os.environ 一個(gè)dictionary 包含環(huán)境變量的映射關(guān)系

os.name 顯示當(dāng)前使用的平臺

os.sep 顯示當(dāng)前平臺下路徑分隔符

os.linesep 給出當(dāng)前平臺使用的行終止符

os.remove(‘filename') 刪除一個(gè)文件

os.rename(“oldname”,“newname”) 重命名文件

os.getcwd() 顯示當(dāng)前python腳本工作路徑

os.chdir(dir) 改變當(dāng)前目錄,注意windows下用到轉(zhuǎn)義

os.listdir(‘dirname') 返回指定目錄下的所有文件和目錄名

os.makedirs(‘dirname/dirname') 可生成多層遞規(guī)目錄

os.rmdir(‘dirname') 刪除單級目錄

os.getlogin() 得到用戶登錄名稱

os.getenv(‘key') 得到環(huán)境變量配置

os.putenv(‘key') 設(shè)置環(huán)境變量

os.system() 運(yùn)行shell命令,注意:這里是打開一個(gè)新的shell,運(yùn)行命令,當(dāng)命令結(jié)束后,關(guān)閉shell。

操作舉例:

os.mkdir('/tmp/xx'),os.system("echo'hello' > /tmp/xx/a.txt"),os.listdir('/tmp/xx') os.rename('/tmp/xx/a.txt','/tmp/xx/b.txt'),os.remove('/tmp/xx/b.txt'),os.rmdir('/tmp/xx')

用python編寫一個(gè)簡單的shell :

#!/usr/bin/pythonimport os, syscmd = sys.stdin.readline();while cmd:os.system(cmd);cmd = sys.stdin.readline();

os.path

函數(shù)-說明:

os.path.abspath() 獲取絕對路徑os.path.abspath(“1.txt”) == os.path.join(os.getcwd(),“1.txt”)

os.path.split() 用于分開一個(gè)目錄名稱中的目錄部分和文件名稱部分。

os.pardir 表示當(dāng)前平臺下上一級目錄的字符 …

os.path.join(path, name) 連接目錄和文件名。

os.path.basename(path) 返回文件名

os.path.dirname(path) 返回文件路徑

os.path.getctime("/root/1.txt") 返回1.txt的ctime(創(chuàng)建時(shí)間)時(shí)間戳

os.path.exists(os.getcwd()) 判斷文件是否存在

os.path.isfile(os.getcwd()) 判斷是否是文件名,1是0否

os.path.isdir(‘c:\Python\temp') 判斷是否是目錄,1是0否

os.path.islink('/home/111.sql') 是否是符號連接,windows下不可用

os.path.ismout(os.getcwd()) 是否是文件系統(tǒng)安裝點(diǎn),windows下不可用

os.path.samefile(os.getcwd(), ‘/home') 看看兩個(gè)文件名是不是指的是同一個(gè)文件

os.walk() 能夠把給定的目錄下的所有目錄和文件遍歷出來。

os.path.walk('/home/huaying', test_fun, “a.c”) 遍歷/home/huaying下所有子目錄包括本目錄,對于每個(gè)目錄都會調(diào)用函數(shù)test_fun。

os.walk和os.path.walk的區(qū)別

函數(shù)聲明:os.walk(top, topdown=True,None)

1、參數(shù)top表示需要遍歷的頂級目錄的路徑。

2、參數(shù)topdown的默認(rèn)值是“True”表示首先返回頂級目錄下的文件,然后再遍歷子目錄中的文件。當(dāng)topdown的值為"False"時(shí),表示先遍歷子目錄中的文件,然后再返回頂級目錄下的文件。

3、參數(shù)onerror默認(rèn)值為"None",表示忽略文件遍歷時(shí)的錯(cuò)誤。如果不為空,則提供一個(gè)自定義函數(shù)提示錯(cuò)誤信息后繼續(xù)遍歷或拋出異常中止遍歷。

返回值:函數(shù)返回一個(gè)元組,含有三個(gè)元素。這三個(gè)元素分別是:每次遍歷的路徑名、路徑下子目錄列表、目錄下文件列表。

函數(shù)聲明:os.path.walk(top, func, arg)

1、參數(shù)top表示需要遍歷的目錄路徑。

2、參數(shù)func表示回調(diào)函數(shù),即對遍歷路徑進(jìn)行處理的函數(shù)。所謂回調(diào)函數(shù),是作為某個(gè)函數(shù)的參數(shù)使用,當(dāng)某個(gè)時(shí)間觸發(fā)時(shí),程序?qū)⒄{(diào)用定義好的回調(diào)函數(shù)處理某個(gè)任務(wù)。注意:walk的回調(diào)函數(shù)必須提供三個(gè)參數(shù):第1個(gè)參數(shù)為os.path.walk的參數(shù)arg,第2個(gè)參數(shù)表示目錄dirname,第3個(gè)參數(shù)表示文件列表names。注意:os.path.walk的回調(diào)函數(shù)中的文件列表不和os.walk()那樣將子目錄和文件分開,而是混為了一談,需要在回調(diào)函數(shù)中判斷是文件還是子目錄。

3、參數(shù)arg是傳遞給回調(diào)函數(shù)的元組,為回調(diào)函數(shù)提供處理參數(shù),arg可以為空?;卣{(diào)函數(shù)的第1個(gè)參數(shù)就是用來接收這個(gè)傳入的元組的。

過程:以top為根的目錄樹中的每一個(gè)目錄(包含top自身,如果它是一個(gè)目錄),以參數(shù)(arg, dirname, names)調(diào)用回調(diào)函數(shù)funct。參數(shù)dirname指定訪問的目錄,參數(shù)names列出在目錄中的文件(從os.listdir(dirname)中得到)?;卣{(diào)函數(shù)可以修改names改變dirname下面訪問的目錄的設(shè)置,例如,避免訪問樹的某一部分。(由names關(guān)聯(lián)的對象必須在合適的位置被修改,使用del或slice指派。)注意:符號連接到目錄不被作為一個(gè)子目錄處理,并且因此walk()將不訪問它們。訪問連接的目錄必須以os.path.islink(file)和os.path.isdir(file)標(biāo)識它們,并且必須調(diào)用walk()。

區(qū)別:os.path.walk()與os.walk()產(chǎn)生的文件名列表并不相同。os.walk()產(chǎn)生目錄樹下的目錄路徑和文件路徑,而os.path.walk()只產(chǎn)生文件路徑(是子目錄與文件的混合列表)。

實(shí)例:

#coding=utf-8importos# 當(dāng)前平臺上一級目錄字符..print(os.path.pardir)# os.path.abspath(__file__) :絕對路徑# 獲取絕對路徑(目錄加當(dāng)前文件名)print(os.path.abspath(__file__))# os.path.split(os.getcwd()) 用于分開一個(gè)目錄名稱中的目錄部分和文件名稱部分。# 獲取絕對目錄(沒有文件名)print(os.getcwd());print(os.path.split(os.path.abspath(__file__))[0]) # 目錄print(os.path.dirname(os.path.abspath(__file__)))# 等價(jià)于上一句# 拼接文件目錄和文件名print(os.path.join(os.path.dirname(os.path.abspath(__file__)), os.path.pardir) )# 獲取父目錄# 當(dāng)前目錄的路徑名稱,即父目錄(os.path.dirname():顯示當(dāng)前路徑,不會顯示當(dāng)前文件名)print(os.path.dirname(os.getcwd()));print(os.path.abspath(os.path.join(os.getcwd(), os.path.pardir)) )


“如何使用python標(biāo)準(zhǔn)庫sys和OS的函數(shù)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

文章標(biāo)題:如何使用python標(biāo)準(zhǔn)庫sys和OS的函數(shù)-創(chuàng)新互聯(lián)
本文路徑:http://jinyejixie.com/article10/csohgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google用戶體驗(yàn)、搜索引擎優(yōu)化網(wǎng)站收錄、外貿(mào)網(wǎng)站建設(shè)虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
兴安县| 桑日县| 区。| 霍林郭勒市| 乐都县| 马尔康县| 沙湾县| 沙雅县| 合山市| 舞钢市| 南平市| 贵德县| 颍上县| 乃东县| 垫江县| 克什克腾旗| 射阳县| 普定县| 清水河县| 青海省| 平谷区| 弥渡县| 涿州市| 建阳市| 威海市| 礼泉县| 江孜县| 专栏| 三门县| 临沭县| 大田县| 邹平县| 齐齐哈尔市| 绥德县| 托克逊县| 辰溪县| 德化县| 安国市| 平乐县| 神池县| 清涧县|