欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

python中os函數(shù),python中ossystem函數(shù)有什么用

python函數(shù)深入淺出 12.os.getcwd()函數(shù)詳解

os是python自帶的系統(tǒng)模塊,需要import使用

目前累計(jì)服務(wù)客戶上千,積累了豐富的產(chǎn)品開(kāi)發(fā)及服務(wù)經(jīng)驗(yàn)。以網(wǎng)站設(shè)計(jì)水平和技術(shù)實(shí)力,樹(shù)立企業(yè)形象,為客戶提供做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。創(chuàng)新互聯(lián)始終以務(wù)實(shí)、誠(chéng)信為根本,不斷創(chuàng)新和提高建站品質(zhì),通過(guò)對(duì)領(lǐng)先技術(shù)的掌握、對(duì)創(chuàng)意設(shè)計(jì)的研究、對(duì)客戶形象的視覺(jué)傳遞、對(duì)應(yīng)用系統(tǒng)的結(jié)合,為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。

os 源于英文Operating System(操作系統(tǒng))的縮寫(xiě)

cwd 則是源于Current Working Directory,中文意思是 當(dāng)前工作目錄

所以os.getcwd() 指獲取當(dāng)前工作目錄

示例:

getcwd()方法語(yǔ)法格式如下:

總之,舉例來(lái)講,os.getcwd()、sys.path[0] (sys.argv[0])和 file 的區(qū)別是這樣的:

假設(shè)目錄結(jié)構(gòu)是:

然后我們?cè)贑:\test下面執(zhí)行

這時(shí)sub_path.py里面與各種用法對(duì)應(yīng)的值其實(shí)是:

無(wú)

path的準(zhǔn)確定位對(duì)于import包,讀寫(xiě)文件都非常重要,

如果一時(shí)不能理解,可以在文件執(zhí)行開(kāi)頭多加幾個(gè)

print幫助我們確定那個(gè)路徑是我們希望拿到的,然后將其設(shè)為全局變量就好了

對(duì)基礎(chǔ)運(yùn)行環(huán)境有疑問(wèn)的,推薦參考: python函數(shù)深入淺出 0.基礎(chǔ)篇

Python的os庫(kù)的使用

python os庫(kù)有很多和操作系統(tǒng)相關(guān)的功能。

其實(shí)不僅僅如此,os庫(kù)中還有很多和文件,路徑,執(zhí)行系統(tǒng)命令相關(guān)的。

下面是os模塊常用的方法.

1.os.sep? ? ? ? ? ? ? ? ? ? 可以取代操作系統(tǒng)特定的路徑分割符

2.os.name? ? ? ? ? ? ? ? 字符串指示你正在使用的平臺(tái)。比如對(duì)于Windows,它是'nt',而對(duì)于Linux/Unix用戶,它是'posix'

3.os.getcwd()? ? ? ? ? ? 函數(shù)得到當(dāng)前工作目錄,即當(dāng)前Python腳本工作的目錄路徑

4.os.getenv()? ? ? ? ? ? 用來(lái)讀取環(huán)境變量

5.os.putenv()? ? ? ? ? ? 用來(lái)設(shè)置環(huán)境變量

6.os.listdir()? ? ? ? ? ? ? 返回指定目錄下的所有文件和目錄名

7os.remove()? ? ? ? ? ? 函數(shù)用來(lái)刪除一個(gè)文件

8.os.system()? ? ? ? ? ? 函數(shù)用來(lái)運(yùn)行shell命令

9.os.linesep? ? ? ? ? ? ? 字符串給出當(dāng)前平臺(tái)使用的行終止符。例如,Windows使用'/r/n',Linux使用'/n'而Mac使用'/r'。

10.os.path.split()? ? ? 函數(shù)返回一個(gè)路徑的目錄名和文件名

11.os.path.isfile()? ? ? 檢驗(yàn)給出的路徑是一個(gè)文件

12os.path.isdir()? ? ? ? 檢驗(yàn)給出的路徑是一個(gè)目錄

13.os.path.existe()? ? 函數(shù)用來(lái)檢驗(yàn)給出的路徑是否真地存在

14.os.listdir(dirname) 列出dirname下的目錄和文件

15.os.getcwd()? ? ? ? ? 獲得當(dāng)前工作目錄

16.os.curdir? ? ? ? ? ? ? ? 返回當(dāng)前目錄('.')

17.os.chdir(dirname)? 改變工作目錄到dirname

os.path都是和路徑指定的文件,目錄,和路徑字符串有關(guān)系的函數(shù)

os.path.isdir(name)? ? ? ? ? 判斷name是不是一個(gè)目錄,name不是目錄就返回false

os.path.isfile(name)? ? ? ? ? 判斷name是不是一個(gè)文件,不存在name也返回false

os.path.exists(name)? ? ? ? 判斷是否存在文件或目錄name

os.path.getsize(name)? ? ? 獲得文件大小,如果name是目錄返回0L

os.path.abspath(name)? ? 獲得絕對(duì)路徑

os.path.normpath(path)? ? 規(guī)范path字符串形式

os.path.split(name)? ? ? ? ? 分割文件名與目錄(事實(shí)上,如果你完全使用目錄,它也會(huì)將最后一個(gè)目錄作為文件名而分離,同時(shí)它不會(huì)判斷文件或目錄是否存在)

os.path.splitext()? ? ? ? ? ? ? 分離文件名與擴(kuò)展名

os.path.join(path,name)? ? 連接目錄與文件名或目錄

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

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

Python包之OS

參考:

Python中對(duì)OS模塊的定位是:提供了使用操作系統(tǒng)的工具接口。

如果你想讀寫(xiě)文件,可以參考o(jì)pen();

如果你想操作文件路徑,參考o(jì)s.path模塊;

如果你想在命令行讀取所有文件的所有行,參考fileinput模塊;

如果你想創(chuàng)建臨時(shí)文件或目錄,參考tempfile模塊;

如果你想更高級(jí)的文件和路徑處理,參考shutil模塊;

內(nèi)置的OSError異常類型,比如在使用os模塊中的函數(shù)接口時(shí),在參數(shù)中提供了無(wú)效的文件或路徑,就回報(bào)錯(cuò)os.error。

該變量返回當(dāng)前操作系統(tǒng)的類型,當(dāng)前只注冊(cè)了3個(gè)值:分別是posix , nt , java, 對(duì)應(yīng)linux/windows/java虛擬機(jī)。

在Python中,文件名,命令行參數(shù)和環(huán)境變量都是用字符串類型來(lái)表示。

接下來(lái)的這些函數(shù)和數(shù)據(jù)提供了當(dāng)前進(jìn)程和用戶的信息狀態(tài)和操作接口。

返回進(jìn)程控制終端的文件名,適用于Unix系統(tǒng)。

返回字符串到環(huán)境變量的映射。

改變當(dāng)前工作目錄到指定的路徑,path為要切換到的新路徑。

通過(guò)文件描述符改變當(dāng)前工作目錄。

文件描述符是內(nèi)核為了高效管理已經(jīng)被打開(kāi)的文件所創(chuàng)建的索引,

進(jìn)程通過(guò)文件描述符來(lái)訪問(wèn)文件。 在程序剛啟動(dòng)的時(shí)候默認(rèn)有3個(gè)文件描述符:0(標(biāo)準(zhǔn)輸入),1(標(biāo)準(zhǔn)輸出),2(標(biāo)準(zhǔn)錯(cuò)誤),系統(tǒng)默認(rèn)提供了 0~2的文件描述符,之后的 當(dāng)我們進(jìn)行 open,create等操作的時(shí)候 自動(dòng)添加進(jìn)表

所以int creat(const char * ,mode_t)返回的文件int 就是你所進(jìn)行操作的文件的唯一身份標(biāo)示,

然后你只要拿著這個(gè)ID 然后告訴系統(tǒng)給我找xx, write(int fd,char *buf,int lenght) 通過(guò)fd得到準(zhǔn)確文件 然后寫(xiě)入。

當(dāng)我們新建creat,打開(kāi)open 之后,得到的fd 是從3開(kāi)始的 因?yàn)榍懊娴娜齻€(gè)被系統(tǒng)占了在OS X系統(tǒng)下測(cè)試 文件描述符表 自增,當(dāng)釋放close之后,fd變成-1,如果再繼續(xù)新建 則填補(bǔ)之前的空缺。

返回當(dāng)前工作目錄。

把字符串類型的文件名翻譯成bytes類型的文件名;os.fsdecode()實(shí)現(xiàn)相反的功能。

返回路徑的文件系統(tǒng)表示。

如果環(huán)境變量中存在key,返回環(huán)境變量key的值,否則返回default的值。

設(shè)置環(huán)境變量key的值為value。

使用當(dāng)前uid/gid檢測(cè)對(duì)路徑path是否有訪問(wèn)權(quán)限。其中,path為要檢測(cè)是否有權(quán)限的路徑,mode為權(quán)限類別,值可以為os.F_OK、os.R_OK、os.W_OK、os.X_OK中的一個(gè)或多個(gè);

切換當(dāng)前的工作路徑為path指定的路徑。

設(shè)置路徑path的標(biāo)記為flags,flags為數(shù)字標(biāo)記,多個(gè)flags可以使用or組合。flags可以為以下值或以下值的組合:

更改文件或目錄的權(quán)限。

path -- 文件名路徑或目錄路徑

mode -- 可用以下選項(xiàng)按位或操作生成, 目錄的讀權(quán)限表示可以獲取目錄里文件名列表, 寫(xiě)權(quán)限表示可以獲取文件并且可以修改內(nèi)容,執(zhí)行權(quán)限表示可以把工作目錄切換到此目錄 ,刪除添加目錄里的文件必須同時(shí)有寫(xiě)和執(zhí)行權(quán)限 ,文件權(quán)限以用戶id-組id-其它順序檢驗(yàn),最先匹配的允許或禁止權(quán)限被應(yīng)用。

更改路徑的擁有者和group id為uid和gid。如果不修改可以設(shè)置為-1,并且需要超級(jí)用戶權(quán)限來(lái)執(zhí)行權(quán)限修改操作。

path -- 設(shè)置權(quán)限的文件路徑

uid -- 所屬用戶ID

gid -- 所屬用戶組ID

更改當(dāng)前進(jìn)程的根目錄為path。

返回當(dāng)前工作目錄。

返回path目錄路徑下的文件列表,列表沒(méi)有固定的順序。

創(chuàng)建目錄path。如果目錄已經(jīng)存在,會(huì)拋出異常FileExistsError。

遞歸的目錄創(chuàng)建,遞歸的意思是創(chuàng)建所有到達(dá)葉子目錄的中間目錄。

從原始設(shè)備號(hào)(通常是stat中的st_dev或st_rdev)中提取設(shè)備major號(hào)碼。

從原始設(shè)備號(hào)(通常是stat中的st_dev或st_rdev)中提取設(shè)備minor號(hào)碼。

根據(jù)設(shè)備的major號(hào)碼和minor號(hào)碼組成原始設(shè)備號(hào)。

刪除文件路徑path。如果path指向的是目錄路徑,會(huì)拋出異常IsADirectoryError。如果要?jiǎng)h除目錄,使用rmdir。

遞歸的刪除目錄。與rmdir功能相似,不同的是,如果葉子目錄被刪除之后,removedirs會(huì)連續(xù)的刪除每一層上級(jí)目錄,直到拋出異常(異常會(huì)被忽略,因?yàn)楫惓MǔR馕吨蠈幽夸洖榉强漳夸洠?/p>

重命名文件或路徑src為dst,如果dst已經(jīng)存在,會(huì)拋出異常。

遞歸的重命名文件或目錄。功能與rename類似,不同在于,renames首先創(chuàng)建new路徑(即重命名之后的路徑)的中間路徑,然后創(chuàng)建完整new路徑,最后,會(huì)使用removedirs刪除掉old路徑(實(shí)際上刪除的是old路徑與new路徑不重合的部分)。

重命名文件或路徑src為dst。如果dst是目錄,拋出異常OSError。如果dst是文件且已經(jīng)存在,且用戶具有權(quán)限,dst會(huì)被替換掉。

刪除path目錄。如果path不存在,或者path非空,會(huì)拋出異常FileNotFoundError或OSError。如果要?jiǎng)h除整個(gè)目錄樹(shù),可以使用shutil.rmtree()。

返回path的絕對(duì)路徑,效果等同于使用normpath:normpath(join(os.getcwd(), path))。

返回路徑path的文件名,也就是對(duì)path調(diào)用os.path.split函數(shù)返回的元組的第二個(gè)元素。

paths為一個(gè)序列類型,其中每個(gè)元素表示一個(gè)路徑,函數(shù)返回結(jié)果為每個(gè)元素所表示的路徑的最長(zhǎng)公共子路徑。如果paths為空,或者paths同時(shí)包含絕對(duì)路徑和相對(duì)路徑,或者paths同時(shí)包含不同驅(qū)動(dòng)類型的路徑(比如Linux系統(tǒng)的路徑和Windows系統(tǒng)的路徑),則拋出異常ValueError。

list中的每個(gè)元素表示一個(gè)路徑,函數(shù)返回每個(gè)路徑的最長(zhǎng)的共有路徑前綴,因?yàn)橛?jì)算方式為逐個(gè)字符進(jìn)行比較,所以可能返回的結(jié)果并非有效的路徑,如果要返回有效路徑,可以使用commonpath。

返回path路徑的目錄部分,也就是對(duì)path調(diào)用os.path.split函數(shù)返回的元組的第一個(gè)元素。

如果path指向的路徑已存在,則返回True,否則返回False。

在Unix和Windows系統(tǒng)中,返回path路徑中的~被替換成用戶的home目錄之后的結(jié)果。

path路徑中的 {name}被環(huán)境變量中對(duì)應(yīng)名稱的值替代。

返回最后一次訪問(wèn)path的時(shí)間,返回值的格式為一個(gè)float類型的數(shù)值,表示距離epoch基準(zhǔn)時(shí)間1970-01-01 00:00:00的秒數(shù)。如果path表示的路徑不存在或者沒(méi)有權(quán)限,拋出異常OSError。

返回最后一次修改path的時(shí)間,返回值的格式為一個(gè)float類型的數(shù)值,表示距離epoch基準(zhǔn)時(shí)間1970-01-01 00:00:00的秒數(shù)。如果path表示的路徑不存在或者沒(méi)有權(quán)限,拋出異常OSError。

返回path表示的文件或路徑的大小,以byte字節(jié)為單位。如果path表示的路徑不存在或者沒(méi)有權(quán)限,拋出異常OSError。

如果path是絕對(duì)路徑,返回True,否則返回False。

如果path表示的是已存在的文件路徑,返回True。

如果path表示的是已存在的目錄,返回True。

如果path表示的是鏈接,返回True。

判斷path是否為掛載點(diǎn)。

連接一個(gè)或多個(gè)路徑,path和多個(gè)*paths的連接會(huì)使用路徑分隔符。

對(duì)path的字母大小寫(xiě)進(jìn)行normalize。在Windows系統(tǒng)中,path中的所有字母都轉(zhuǎn)成小寫(xiě),并且把正斜杠轉(zhuǎn)成反斜杠。在其他操作系統(tǒng)中,返回path本身。

對(duì)path進(jìn)行normalize,刪除多余的路徑分隔符。

split the path into a pair (head, tail),其中tail是path中最后的部分,并且永遠(yuǎn)不會(huì)含有斜杠,head是除了tail之外的部分。如果path以斜杠結(jié)尾,tail為空;如果path中不包含斜杠,head為空;如果path為空,head和tail都是空。

python 中os.pardir什么意思

os.pardir- 路徑組件,意味著將目錄樹(shù)向上遍歷一級(jí)(例如,“ ..”)。

os.path 函數(shù)可用于將表示文件名的字符串解析為其組成部分。重要的是要意識(shí)到這些功能不依賴于實(shí)際存在的路徑。路徑解析取決于以下定義的一些 os 變量:

1、os.sep- 路徑部分之間的分隔符。

2、os.extsep- 文件名和文件“擴(kuò)展名”之間的分隔符(例如,“ .”)。

3、os.curdir- 引用當(dāng)前目錄的路徑組件(例如,“ .”)。

擴(kuò)展資料

os.getcwd(): 獲取當(dāng)前工作目錄,即當(dāng)前python腳本工作的目錄路徑。

os.chdir("dirname") :改變當(dāng)前腳本工作目錄;相當(dāng)于shell下cd。

os.curdir 返回當(dāng)前目錄: ('.')。

os.pardir 獲取當(dāng)前目錄的父目錄字符串名:('..')。

os.makedirs('dirname1/dirname2') :可生成多層遞歸目錄。

os.removedirs('dirname1'): 若目錄為空,則刪除,并遞歸到上一級(jí)目錄,如若也為空,則刪除,依此類推。

如何學(xué)習(xí)python的os模塊

一、os模塊概述

Python os模塊包含普遍的操作系統(tǒng)功能。如果你希望你的程序能夠與平臺(tái)無(wú)關(guān)的話,這個(gè)模塊是尤為重要的。(一語(yǔ)中的)

二、常用方法

1、os.name

輸出字符串指示正在使用的平臺(tái)。如果是window 則用'nt'表示,對(duì)于Linux/Unix用戶,它是'posix'。

2、os.getcwd()

函數(shù)得到當(dāng)前工作目錄,即當(dāng)前Python腳本工作的目錄路徑。

3、os.listdir()

返回指定目錄下的所有文件和目錄名。

os.listdir(os.getcwd())

['Django', 'DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'MySQL-python-wininst.log', 'NEWS.txt', 'PIL-wininst.log', 'python.exe', 'pythonw.exe', 'README.txt', 'RemoveMySQL-python.exe', 'RemovePIL.exe', 'Removesetuptools.exe', 'Scripts', 'setuptools-wininst.log', 'tcl', 'Tools', 'w9xpopen.exe']

4、os.remove()

刪除一個(gè)文件。

5、os.system()

運(yùn)行shell命令。

os.system('dir')

os.system('cmd') #啟動(dòng)dos

6、os.sep 可以取代操作系統(tǒng)特定的路徑分割符。

7、os.linesep字符串給出當(dāng)前平臺(tái)使用的行終止符

os.linesep

'\r\n' #Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。

os.sep

'\\' #Windows

8、os.path.split()

函數(shù)返回一個(gè)路徑的目錄名和文件名

os.path.split('C:\\Python25\\abc.txt')

('C:\\Python25', 'abc.txt')

9、os.path.isfile()和os.path.isdir()函數(shù)分別檢驗(yàn)給出的路徑是一個(gè)文件還是目錄。

os.path.isdir(os.getcwd())

True

os.path.isfile('a.txt')

False

10、os.path.exists()函數(shù)用來(lái)檢驗(yàn)給出的路徑是否真地存在

os.path.exists('C:\\Python25\\abc.txt')

False

os.path.exists('C:\\Python25')

True

11、os.path.abspath(name):獲得絕對(duì)路徑

12、os.path.normpath(path):規(guī)范path字符串形式

13、os.path.getsize(name):獲得文件大小,如果name是目錄返回0L

14、os.path.splitext():分離文件名與擴(kuò)展名

os.path.splitext('a.txt')

('a', '.txt')

15、os.path.join(path,name):連接目錄與文件名或目錄

os.path.join('c:\\Python','a.txt')

'c:\\Python\\a.txt'

os.path.join('c:\\Python','f1')

'c:\\Python\\f1'

16、os.path.basename(path):返回文件名

os.path.basename('a.txt')

'a.txt'

os.path.basename('c:\\Python\\a.txt')

'a.txt'

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

os.path.dirname('c:\\Python\\a.txt')

'c:\\Python'

Python之OS模塊操作有哪些?這18個(gè)高頻函數(shù)是重中之重,你會(huì)用?

案例一:新建一個(gè)txt文件并向文件中寫(xiě)入數(shù)據(jù)。

代碼與結(jié)果如上圖所示。

案例:os.rename('kitty1.txt',''kitty2.txt')

2.1 輸出結(jié)果:將kitty1文件改為kitty2

2.2 文件解析說(shuō)明:文件重命名,將test1文件改為test2文件。

案例:os.remove('kitty2.txt')

3.1 輸出結(jié)果:kitty2.txt文件被刪除

3.2 解析說(shuō)明:刪除文件。

案例:os.mkdir('kitty')

4.1 輸出結(jié)果:創(chuàng)建一個(gè)文件夾名字為kitty

4.2 解析說(shuō)明:創(chuàng)建文件夾。

4.3 解析說(shuō)明:list.pop()就直接從list中的最末尾處刪除一個(gè)元素。

案例:os.rmdir('test')

5.1 輸出結(jié)果:刪除一個(gè)文件夾

5.3 解析說(shuō)明:刪除文件夾.

解析說(shuō)明:可以取代操作系統(tǒng)特定的路徑分割符

案例一:print(os.getcwd())

輸出結(jié)果:D:PythonProjectPython編程基礎(chǔ)

解析說(shuō)明:相當(dāng)于linux下的pwd,獲取當(dāng)前目錄。

案例一:os.chdir(os.getcwd()+os.sep+'kitty')

解析說(shuō)明:進(jìn)入到某個(gè)目錄下。

解析說(shuō)明:相當(dāng)于linux下的ls,顯示當(dāng)前目錄下的文件。

解析說(shuō)明:創(chuàng)建一個(gè)aa文件夾,再在里面創(chuàng)建一個(gè)bb文件夾。

解析說(shuō)明:刪除aa文件夾和aa文件夾中的bb文件夾。

解析說(shuō)明:判斷是否是個(gè)文件。

解析說(shuō)明:判斷是否是個(gè)文件夾。

解析說(shuō)明:判斷文件是否存在。

解析說(shuō)明:獲取文件大小。

解析說(shuō)明:返回文件的絕對(duì)路徑。

解析說(shuō)明:獲取文件的文件名,注意參數(shù)需要傳入絕對(duì)路徑。

解析說(shuō)明:獲取文件的所在目錄,注意參數(shù)需要傳入絕對(duì)路徑。

網(wǎng)頁(yè)名稱:python中os函數(shù),python中ossystem函數(shù)有什么用
文章來(lái)源:http://chinadenli.net/article1/dsgijod.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站App設(shè)計(jì)企業(yè)網(wǎng)站制作網(wǎng)站收錄微信公眾號(hào)

廣告

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

成都定制網(wǎng)站建設(shè)