Python OS模块使用汇总
創(chuàng)建目錄
?
mkdir()?方法用于以數(shù)字權(quán)限模式當(dāng)前目錄下創(chuàng)建目錄。默認(rèn)的模式為 0777 (八進(jìn)制),語(yǔ)法格式如下
os.mkdir(path[,?mode])-
path?– 要?jiǎng)?chuàng)建的目錄
-
mode?– 要為目錄設(shè)置的權(quán)限數(shù)字模式
????
makedirs()?方法用于遞歸創(chuàng)建目錄。可以創(chuàng)建多個(gè)目錄,其中exist_ok為False,表示目錄存在拋出異常。語(yǔ)法格式如下
os.makedirs(path,?mode=0o777)-
path – 需要遞歸創(chuàng)建的目錄。
-
mode – 權(quán)限模式。
示例代碼
import?os os.mkdir("..\\test_dir")??#?創(chuàng)建目錄上一級(jí)目錄 #?判斷是否創(chuàng)建成功 print(os.path.isdir("..\\test_dir"))??#?Trueos.makedirs("test_dirs\\test_dir")??#?遞歸創(chuàng)建目錄 print(os.path.isdir("test_dirs\\test_dir"))??#?Trueos.makedirs("Y:/02test/Python/02?進(jìn)階部分") print(os.path.isdir("Y:/02test/Python/02?進(jìn)階部分"))??#?True?
刪除目錄
?
rmdir()?方法用于刪除指定路徑的目錄。僅當(dāng)這文件夾是空的才可以, 否則, 拋出OSError。語(yǔ)法格式如下
os.rmdir(path)path?– 要?jiǎng)h除的目錄路徑
removedirs()?方法用于遞歸刪除目錄。注意如果目錄不為空,會(huì)拋出OSError:[Errno 66] Directory not empty.語(yǔ)法格式為
os.removedirs(path)示例代碼
import?os os.rmdir("..\\test_dir")??#?刪除目錄 #?判斷是否刪除成功 print(os.path.isdir("..\\test_dir"))??#?False??目錄不存在表示以刪除os.removedirs("test_dirs\\test_dir")??#?遞歸刪除目錄 print(os.path.isdir("test_dirs\\test_dir"))??#?Falseos.removedirs("Y:/02test/Python/02?進(jìn)階部分") print(os.path.isdir("Y:/02test/Python/02?進(jìn)階部分"))??#?False?
重命名目錄
?
rename()?方法用于命名文件或目錄,從 src 到 dst,如果dst是一個(gè)存在的目錄, 將拋出OSError。
os.rename(src,?dst)src?– 要修改的目錄名
dst?– 修改后的目錄名
renames()?方法用于遞歸重命名目錄或文件。類似rename()。
os.renames(old,?new)示例代碼
import?os os.rename("..\\test_dir",?"..\\test_dir1")??#?創(chuàng)建目錄上一級(jí)目錄 print(os.path.isdir("..\\test_dir"))??#?False print(os.path.isdir("..\\test_dir1"))??#?Trueos.renames("test_dirs\\test_dir",?"test_dirs\\test_dir1")??#?遞歸創(chuàng)建目錄 print(os.path.isdir("test_dirs\\test_dir"))??#?False print(os.path.isdir("test_dirs\\test_dir1"))??#?Trueos.renames("Y:/02test/Python/02?進(jìn)階部分",?"Y:/02test/Python/02進(jìn)階部分") print(os.path.isdir("Y:/02test/Python/02?進(jìn)階部分"))??#?False print(os.path.isdir("Y:/02test/Python/02進(jìn)階部分"))??#?True?
獲取目錄
?
listdir()?方法用于返回指定的文件夾包含的文件或文件夾的名字的列表。只支持在 Unix, Windows 下使用。path為需要列出的目錄路徑
os.listdir(path)getcwd()?方法用于返回當(dāng)前工作目錄。
os.getcwd()chdir()?方法用于改變當(dāng)前工作目錄到指定的路徑。
os.chdir(path)示例代碼
import?os dir_list?=?os.listdir()??#?獲取當(dāng)前文件的路徑,返回一個(gè)列表 print(dir_list)??#?返回很長(zhǎng)很長(zhǎng)的列表getcwd?=?os.getcwd()??#?獲取當(dāng)前的工作路徑 print(getcwd)??#?Y:\02test\Python\01?基礎(chǔ)部分os.chdir("..")??#?返回上級(jí)目錄 getcwd?=?os.getcwd()??#?獲取當(dāng)前的工作路徑 print(getcwd)??#?Y:\02test\Python?
遍歷目錄
?
walk()?方法用于通過(guò)在目錄樹中游走輸出在目錄中的文件名,向上或者向下。在Unix,Windows中有效。
os.walk(top[,?topdown=True[,?onerror=None[,?followlinks=False]]])?
?
示例代碼
import?os list_result?=?os.walk(".",?topdown=True,?onerror=None,?followlinks=False)??#?獲取當(dāng)前目錄?參數(shù)可寫可不寫 for?root,?dirs,?files?in?list_result:print(root)print(dirs)print(files)文件操作
os.open()?方法用于打開(kāi)一個(gè)文件,并且設(shè)置需要的打開(kāi)選項(xiàng),模式參數(shù)mode參數(shù)是可選的,默認(rèn)為 0777。
os.open(file,?flags[,?mode]);?
os.write()?方法用于寫入字符串到文件描述符 fd 中. 返回實(shí)際寫入的字符串長(zhǎng)度。
os.write(fd,?str)os.lseek()?方法用于設(shè)置文件描述符 fd 當(dāng)前位置為 pos, how 方式修改。
os.lseek(fd,?pos,?how)os.read()?方法用于從文件描述符 fd 中讀取最多 n 個(gè)字節(jié),返回包含讀取字節(jié)的字符串,文件描述符 fd對(duì)應(yīng)文件已達(dá)到結(jié)尾, 返回一個(gè)空字符串。在Unix,Windows中有效
os.read(fd,n)os.fsync()?方法強(qiáng)制將文件描述符為fd的文件寫入硬盤。Unix、Windows上可用。
os.fsync(fd)os.close()?方法用于關(guān)閉指定的文件描述符 fd。
os.close(fd)示例代碼
""" -*-?coding:uft-8?-*- author:?小甜 time:2020/5/26 """ import?os file?=?os.open("text.txt",?os.O_CREAT?|?os.O_RDWR)??#?打開(kāi)文件os.write(file,?b"This?is?test")??#?寫入內(nèi)容os.fsync(file)??#?將字符串刷新到硬盤上 os.lseek(file,?0,?0)??#?將指針置為0 text?=?os.read(file,?100)???#?讀取文件 print(text)??#?b'This?is?test' os.close(file)??#?關(guān)閉文件 與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Python OS模块使用汇总的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 理解 Python 面向对象
- 下一篇: vlan、三层交换机、网关、DNS、子网