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