您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關(guān)python文件目錄操作之os模塊的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
Python是一種編程語言,內(nèi)置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強大,在許多領(lǐng)域中都有廣泛的應(yīng)用,例如最熱門的大數(shù)據(jù)分析,人工智能,Web開發(fā)等。
1 os.access(path, mode) 檢驗權(quán)限模式
2 os.chdir(path) 改變當前工作目錄
3 os.chflags(path, flags) 設(shè)置路徑的標記為數(shù)字標記。
4 os.chmod(path, mode) 更改權(quán)限
5 os.chown(path, uid, gid) 更改文件所有者
6 os.chroot(path) 改變當前進程的根目錄
7 os.close(fd) 關(guān)閉文件描述符 fd
8 os.closerange(fd_low, fd_high) 關(guān)閉所有文件描述符
9 os.dup(fd) 復(fù)制文件描述符 fd
10 os.dup2(fd, fd2) 將一個文件描述符 fd 復(fù)制到另一個 fd2
11 os.fchdir(fd) 通過文件描述符改變當前工作目錄
12 os.fchmod(fd, mode) 改變一個文件的訪問權(quán)限
13 os.fchown(fd, uid, gid) 修改一個文件的所有權(quán)。
14 os.fdatasync(fd) 強制將文件寫入磁盤。
15 os.fdopen(fd[, mode[, bufsize]]) 通過文件描述符 fd 創(chuàng)建一個文件對象
16 os.fpathconf(fd, name) 返回一個打開的文件的系統(tǒng)配置信息。
17 os.fstat(fd) 返回文件描述符fd的狀態(tài),像stat()。
18 os.fstatvfs(fd) 返回包含文件描述符fd的文件的文件系統(tǒng)的信息,像 statvfs()
19 os.fsync(fd) 強制將文件描述符為fd的文件寫入硬盤。
20 os.ftruncate(fd, length) 裁剪文件描述符fd對應(yīng)的文件
21 os.getcwd() 返回當前工作目錄
22 os.getcwdu() 返回一個當前工作目錄的Unicode對象
23 os.isatty(fd) 如果文件fd是打開的,同時與tty(-like)設(shè)備相連,則返回true
24 os.lchflags(path, flags) 設(shè)置路徑的標記為數(shù)字標記,類似 chflags()
25 os.lchmod(path, mode) 修改連接文件權(quán)限
26 os.lchown(path, uid, gid) 更改文件所有者,類似 chown,但是不追蹤鏈接。
27 os.link(src, dst) 創(chuàng)建硬鏈接,名為參數(shù) dst,指向參數(shù) src
28 os.listdir(path) 返回path指定的文件夾包含的文件或文件夾的名字的列表。
29 os.lseek(fd, pos, how) 設(shè)置文件描述符 fd當前位置為pos, how方式修改
30 os.lstat(path) 像stat(),但是沒有軟鏈接
31 os.major(device)從原始的設(shè)備號中提取設(shè)備major號碼 。
32 os.makedev(major, minor) 以major和minor設(shè)備號組成一個原始設(shè)備號
33 os.makedirs(path[, mode]) 遞歸文件夾創(chuàng)建函數(shù)。
34 os.minor(device) 從原始的設(shè)備號中提取設(shè)備minor號碼。
35 os.mkdir(path[, mode]) 以數(shù)字mode的mode創(chuàng)建一個名為path的文件夾。
36 os.mkfifo(path[, mode]) 創(chuàng)建命名管道,mode 為數(shù)字,默認為 0666 (八進制)
37 os.mknod(filename[, mode=0600, device]) 創(chuàng)建空文件
38 os.open(file, flags[, mode]) 打開一個文件,并且設(shè)置需要的打開選項
39 os.openpty() 打開一個新的偽終端對。返回 pty 和 tty的文件描述符。
40 os.pathconf(path, name)返回相關(guān)文件的系統(tǒng)配置信息。
41 os.pipe()創(chuàng)建一個管道. 返回一對文件描述符(r, w) 分別為讀和寫
42 os.popen(command[, mode[, bufsize]])從一個 command 打開一個管道
43 os.read(fd, n)從文件 fd 中讀取最多 n 個字節(jié)
44 os.readlink(path)返回軟鏈接所指向的文件
45 os.remove(path)刪除路徑為path的文件。
46 os.removedirs(path)遞歸刪除目錄。
47 os.rename(src, dst)重命名文件或目錄,從 src 到 dst
48 os.renames(old, new)遞歸地對目錄進行更名,也可以對文件進行更名。
49 os.rmdir(path)刪除path指定的空目錄,如果目錄非空,則拋出一個OSError異常。
50 os.stat(path) 獲取path指定的路徑的信息,功能等同于C API中的stat()系統(tǒng)調(diào)用。
51 os.stat_float_times([newvalue]) 決定stat_result是否以float對象顯示時間戳
52 os.statvfs(path) 獲取指定路徑的文件系統(tǒng)統(tǒng)計信息
53 os.symlink(src, dst) 創(chuàng)建一個軟鏈接
54 os.tcgetpgrp(fd) 返回與終端fd關(guān)聯(lián)的進程組
55 os.tcsetpgrp(fd, pg) 設(shè)置與終端fd關(guān)聯(lián)的進程組為pg。
56 os.tempnam([dir[, prefix]]) 返回唯一的路徑名用于創(chuàng)建臨時文件。
57 os.tmpfile() 返回一個打開的模式為(w+b)的文件對象 .
58 os.tmpnam() 為創(chuàng)建一個臨時文件返回一個唯一的路徑
59 os.ttyname(fd)返回一個字符串,它表示與文件描述符fd 關(guān)聯(lián)的終端設(shè)備。
60 os.unlink(path)刪除文件路徑
61 os.utime(path, times)返回指定的path文件的訪問和修改的時間。
62 os.walk()輸出在文件夾中的文件名通過在樹中游走,向上或者向下。
63 os.write(fd, str)寫入字符串到文件描述符 fd中. 返回實際寫入的字符串長度
python os.path模塊
os.path.abspath(path) #返回絕對路徑
os.path.basename(path) #返回文件名
os.path.commonprefix(list) #返回list(多個路徑)中,所有path共有的最長的路徑。
os.path.dirname(path) #返回文件路徑
os.path.exists(path) #路徑存在則返回True,路徑損壞返回False【判斷文件夾是否存在】
os.path.lexists #路徑存在則返回True,路徑損壞也返回True
os.path.expanduser(path) #把path中包含的"~"和"~user"轉(zhuǎn)換成用戶目錄
os.path.expandvars(path) #根據(jù)環(huán)境變量的值替換path中包含的”$name”和”${name}”
os.path.getatime(path) #返回最后一次進入此path的時間。
os.path.getmtime(path) #返回在此path下最后一次修改的時間。
os.path.getctime(path) #返回path最近訪問的時間
os.path.getsize(path) #返回文件大小,如果文件不存在就返回錯誤
os.path.isabs(path) #判斷是否為絕對路徑
os.path.isfile(path) #判斷路徑是否為文件
os.path.isdir(path) #判斷路徑是否為目錄
os.path.islink(path) #判斷路徑是否為鏈接
os.path.ismount(path) #判斷路徑是否為掛載點()
os.path.join(path2[, path3[, ...]]) #把目錄和文件名合成一個路徑
os.path.normcase(path) #轉(zhuǎn)換path的大小寫和斜杠
os.path.normpath(path) #規(guī)范path字符串形式
os.path.realpath(path) #返回path的真實路徑
os.path.relpath(path[, start]) #從start開始計算相對路徑
os.path.samefile(path2, path3) #判斷目錄或文件是否相同
os.path.sameopenfile(fp1, fp2) #判斷fp1和fp2是否指向同一文件
os.path.samestat(stat1, stat2) #判斷stat tuple stat1和stat2是否指向同一個文件
os.path.split(path) #把路徑分割成dirname和basename,返回一個元組
os.path.splitdrive(path) #一般用在windows下,返回驅(qū)動器名和路徑組成的元組
os.path.splitext(path) #分割路徑,返回路徑名和文件擴展名的元組
os.path.splitunc(path) #把路徑分割為加載點與文件
os.path.walk(path, visit, arg) #遍歷path,進入每個目錄都調(diào)用visit函數(shù),visit函數(shù)必須有
3個參數(shù)(arg, dirname, names),dirname表示當前目錄的目錄名,names代表當前目錄下的所有
文件名,args則為walk的第三個參數(shù)
os.path.supports_unicode_filenames #設(shè)置是否支持unicode路徑名
2.1abspath返回絕對路徑 import os ,sys path=os.getcwd() path3=os.path.abspath('others.py') #文件不存在也會返回全路徑,但不會創(chuàng)建文件 print(path) print(path3) 2.2basename返回文件名 import os ,sys path3=os.path.basename(r'E:\python\project\Anaconda\temp\others.py') #用法:從全路徑中取文件名稱 print(path3) 2.3dirname返回路徑 import os ,sys path3=os.path.dirname(r'E:\python\project\Anaconda\temp\others.py') #只返回全路徑中的路徑部分 print(path3) 2.4exists判斷文件是否存在 import os ,sys path3=os.path.exists(r'E:\python\project\Anaconda\temp\others.py') print(path3) #若存在返回true,否則返回false 2.5lexists判斷文件是否存在 import os ,sys path3=os.path.lexists(r'E:\python\project\Anaconda\temp\others.py') print(path3) #若存在返回true,否則返回false 2.6expanduser os.path.expanduser(path) >>>print os.path.basename("D:\\SQAP\\SQAP Training.pdf") >>>D:\SQAP\SQAP Training.pdf 2.7expandvars os.path.expandvars(path) #根據(jù)環(huán)境變量的值替換path中包含的"name"和"{name}" >>>print os.path.basename("D:\\SQAP\\SQAP Training.pdf") >>>D:\SQAP\SQAP Training.pdf 2.8getatime返回最后一次進入此path的時間 import os ,sys path3=os.path.getatime(r'E:\python\project\Anaconda\temp') #可以是文件夾,也可是文件 print(path3) #結(jié)果返回:1488813625.5529294 2.9getmtime返回文件夾或文件最后修改時間 import os ,sys path3=os.path.getmtime(r'E:\python\project\Anaconda\temp\others.py') print(path3) #結(jié)果:1488732500.9374976 3.0getctime文件最近訪問時間 import os ,sys path3=os.path.getctime(r'E:\python\project\Anaconda\temp\others.py') print(path3) #結(jié)果:1480692429.5645697 3.1getsize返回文件大小 import os ,sys path3=os.path.getsize(r'D:\迅雷下載\三少爺?shù)膭?rmvb') print(path3) #結(jié)果:1384146720B 3.2isabs判斷是否為絕對路徑 import os ,sys path3=os.path.isabs(r'E:\python\project\Anaconda\temp\others.py') print(path3) #結(jié)果:True 3.3isfile判斷是否為文件 import os ,sys path3=os.path.isfile(r'E:\python\project\Anaconda\temp\others.py') print(path3) #結(jié)果:True 3.4isdir判斷是否為目錄 import os ,sys path3=os.path.isdir(r'E:\python\project\Anaconda\temp\others.py') print(path3) #結(jié)果:False 3.5join把目錄與文件合成全路徑 import os ,sys path3=os.path.join(r'E:\python\project\Anaconda\temp',r'others.py') print(path3) #結(jié)果:E:\python\project\Anaconda\temp\others.py 3.6normcase轉(zhuǎn)換path的大小寫和斜杠 import os ,sys path3=os.path.normcase(r'E:/PYTHON/project\Anaconda\TEMP\others.py') print(path3) #結(jié)果:e:\python\project\anaconda\temp\others.py 3.7samefile判斷目錄或文件是否相同 import os ,sys path2=r'E:/PYTHON/project\Anaconda\TEMP\others.py' path3=r'E:\python\project\Anaconda\temp\others.py' result=os.path.samefile(path2,path3) print(result) #結(jié)果:true 3.8split路徑分割成dirname和basename,返回元組 import os ,sys path2=r'E:\PYTHON\project\Anaconda\TEMP\others.py' result=os.path.split(path2) print(result) #結(jié)果('E:\\PYTHON\\project\\Anaconda\\TEMP', 'others.py') 3.9splitext分割路徑,返回路徑名和文件擴展名的元組 import os ,sys path2=r'E:\PYTHON\project\Anaconda\TEMP\others.py' result=os.path.splitext(path2) print(result) #結(jié)果返回元組:('E:\\PYTHON\\project\\Anaconda\\TEMP\\others', '.py') 4.0os.path.walk遍歷文件夾 os.path.walk(r"C:\Users\Administrator\Desktop\4",find_file,()) os.walk()產(chǎn)生目錄樹下的目錄路徑和文件路徑, 而os.path.walk()只產(chǎn)生文件路徑(是子目錄與文件的混合列表)。
1.讀取當前路徑 os.path.realpath(__file__) ##py運行的位置 注意與os.getcwd()的區(qū)別 os.path.dirname(os.path.abspath(__file__)) 2.獲取文件的時間屬性 os.path.getatime(file) 輸出文件訪問時間 os.path.getctime(file) 輸出文件的創(chuàng)建時間 os.path.getmtime(file) 輸出文件最近修改時間 import time import os time.ctime(os.path.getatime(file)) # linux顯示的是最近修改時間 time.ctime(os.path.getmtime(file)) time.ctime(os.path.getctime(file)) 3.os.listdir()以列表返回文件夾下所有文件和目錄 # )以列表返回文件夾下所有文件和目錄,但不會返回子目錄的文件 import os #get file path='/Users/juvo/Downloads/test' dirs = os.listdir(path) file_list=[] for file in dirs: print(1,file) if str(file).endswith('.txt'): file_list.append(file)
關(guān)于“python文件目錄操作之os模塊的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。