python库整理:os
1 檢查路徑訪問權(quán)限(os.access)
os.access(path,mode)
- path?-- 要用來檢測是否有訪問權(quán)限的路徑。
- mode?-- mode為F_OK,測試存在的路徑,或者它可以是包含R_OK, W_OK和X_OK或者R_OK, W_OK和X_OK其中之一或者更多。
- os.F_OK:?作為access()的mode參數(shù),測試path是否存在。
- os.R_OK:?包含在access()的mode參數(shù)中 , 測試path是否可讀。
- os.W_OK?包含在access()的mode參數(shù)中 , 測試path是否可寫。
- os.X_OK?包含在access()的mode參數(shù)中 ,測試path是否可執(zhí)行。
- 上述參數(shù)如果是可以,那么返回True,否則返回False
2?當前工作目錄(os.getcwd)
3?改變當前工作目錄到指定的路徑(os.chdir)
os.chdir(path)
change direction
4 修改當前進程的根目錄(os.chroot)
os.chroot(path)
修改當前進程的根目錄
這一個函數(shù)需要管理員權(quán)限
5?關(guān)閉指定文件(os.close)
os.close(file)
6?返回指定的文件夾包含的文件或文件夾的名字的列表(os.listdir)
7?遞歸創(chuàng)建目錄(os.makedirs)
8 創(chuàng)建最后一級目錄(os.mkdir)
如果目錄有多級,那么創(chuàng)建最后一級
如果最后一級目錄的上一級目錄是不存在的,那么拋出一個OSError
os.makedirs就可以
9 打開文件(os.open)
os.open(file,flag)
flags?-- 該參數(shù)可以是以下選項,多個使用 "|" 隔開:
- os.O_RDONLY:?以只讀的方式打開
- os.O_WRONLY:?以只寫的方式打開
- os.O_RDWR :?以讀寫的方式打開
- os.O_NONBLOCK:?打開時不阻塞
- os.O_APPEND:?以追加的方式打開
- os.O_CREAT:?創(chuàng)建并打開一個新文件
- os.O_TRUNC:?打開一個文件并截斷它的長度為零(必須有寫權(quán)限)
- os.O_EXCL:?如果指定的文件存在,返回錯誤
- os.O_SHLOCK:?自動獲取共享鎖
- os.O_EXLOCK:?自動獲取獨立鎖
- os.O_DIRECT:?消除或減少緩存效果
- os.O_FSYNC :?同步寫入
- os.O_NOFOLLOW:?不追蹤軟鏈接
10?讀取n個字節(jié)的file文件(os.read)
os.read(file,n)
11?移除一個文件(os.remove)
os.remove(file)
移除一個文件
如果file是一個文件夾,那么會拋出OSError
12?遞歸移除目錄(os.removedirs)
os.removedirs(path)
13 刪除目錄(os.rmdir)
只有指定文件夾是空的時候,才可以刪除,否則,拋出OSError
14?重命名(os.rename)
os.rename(src1,src2)
重命名文件/目錄,從src1命名為src2
15?遞歸地重命名(os.renames)
os.renames(src1,src2)
遞歸地重命名目錄/文件
16 執(zhí)行命令(os.system)
在命令行上執(zhí)行括號里面的命令
注:命令行和主程序是同步執(zhí)行的。也就是說,在尚未執(zhí)行完成的情況下,主程序不會繼續(xù)執(zhí)行下去
17?os.path
17.1?判斷括號里的文件是否存在(os.path.exists)
判斷括號里的文件是否存在(可以是文件路徑,默認為當前路徑)
17.2?返回文件的絕對路徑
os.path.abspath()和os.path.realpath()
如果參數(shù)為空,那么返回當前文件所在目錄的絕對路徑
17.3?連接兩個或更多的路徑名(os.path.join)
連接兩個或更多的路徑名組
如果如果各組件名首字母不包括'/',那么函數(shù)會自動加上
如果有一個組件是一個絕對路徑,那么在他之前的所有組件都會被舍棄
如果最后一個組件為空,那么生成的路徑是一個以'/'作為分隔符結(jié)尾的路徑
17.4 返回文件所在的文件夾的路徑(Os.path.dirname)
必須是實際存在的py文件,如果在命令行直接,就會引發(fā)異常(__file__ is not defined)
一般常和abspath連用,效果更好
17.5?是否是目錄類型(os.path.isdir)
os.path.isdir(isfile)
是否是目錄類型(是否是文件類型)
17.6 是否是文件類型(os.path.isfile)
17.7?把文件名和后綴進行切分(os.path.splitext)
split ——dirname和basename分開
?
17.8?返回path最后的文件名(os.path.basename)
返回path最后的文件名。如果path以/或\結(jié)尾,那么就會返回空值。
17.9?返回list(多個路徑)中,所有path共有的最長的路徑(os.path.commonprefix)
os.path.commonprefix(list)
17.10 文件相關(guān)時間
文件創(chuàng)建時間(create)
文件最近修改時間(modify)
文件最近訪問時間
17.11?返回文件大小
如果文件不存在就返回錯誤
17.12?判斷是否為絕對路徑
17.13?轉(zhuǎn)換path的大小寫和斜杠
17.14?規(guī)范path字符串形式
17.15?計算相對路徑
os.path.relpath(path[, start])
從start開始計算相對路徑
17.16?判斷目錄或文件是否相同
os.path.samefile(path1, path2)
18 os包應(yīng)用
18.1?在指定目錄下查找指定后綴名的文件,要查找所有子目錄,返回文件路徑名列表
import osdef get_list(base_dir='',target_ext=''):f_lst=[]#用于記錄文件名稱的列表for f_name in os.listdir(base_dir):#檢查目錄里面的每個文件path=os.path.join(base_dir,f_name) #文件名絕對路徑if(os.path.isfile(path)):#判斷是否是文件fname,f_ext=os.path.splitext(f_name)#把文件名和文件后綴分開if(f_ext==target_ext):#如果是指定的后綴名f_lst.append(path)#將符合條件的文件加入列表elif(os.path.isdir(path)):#判斷是否是文件類型tmp_list=get_list(path,target_ext) #遞歸調(diào)用查找子目錄中是否有指定類型文件f_lst.extend(tmp_list)else:passreturn(f_lst)get_list(os.getcwd(),'.txt')''' ['D:\\tmp\\1.txt', 'D:\\tmp\\2.txt', 'D:\\tmp\\output\\tmp\\result.txt'] '''?
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的python库整理:os的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文巾解题35. 搜索插入位置
- 下一篇: 文计笔记1: 计算机基本原理