Python os模組參考手冊

派森學python發表於2019-02-16

Python的標準庫中的os模組包含普遍的作業系統功能。這個模組的作用主要是提供與平臺無關的功能。也就是說os模組能夠處理平臺間的差異問題,使得編寫好的程式無需做任何改動就能在另外的平臺上執行。當然,這個模組只是提供了一個輕便的方法使用要依賴作業系統的功能。有些特定的功能還得使用特定的模組,比如:如何只是想讀或寫檔案,請使用open();如果想操作檔案路徑,請使用os.path模組;如果想在命令列中,讀入所有檔案的所有行,請使用fileinput模組;使用tempfile模組建立臨時檔案和資料夾;更高階的檔案和資料夾處理,請使用shutil模組。如果想要了解os模組的所有內容,可以使用dir(os)方法檢視。

模組變數

os.error

內建OSError exception的別名。

os.name

匯入依賴作業系統模組的名字,指示你正在使用的平臺。下面是目前被註冊的名字:`posix`, `nt`, `mac`, `os2`, `ce`, `java`, `riscos`.

os.environ

一個mapping物件表示環境。例如,environ[`HOME`] ,表示的你自己home資料夾的路徑(某些平臺支援,windows不支援) ,它與C中的getenv(“HOME”)一致。

號:923414804 群裡有志同道合的小夥伴,
    互幫互助。群裡有視訊學習教程和PDF,一起學習,共同進步!
    加群免費獲取數十套PDF資料,助力python學習

這個mapping物件在os模組第一次匯入時被建立,一般在python啟動時,作為site.py處理過程的一部分。在這一次之後改變environment不 影響os.environ,除非直接修改os.environ。

注:putenv()不會直接改變os.environ,所以最好是修改os.environ。

注:在一些平臺上,包括FreeBSD和Mac OS X,修改environ會導致記憶體洩露。參考 putenv()的系統文件。

如果沒有提供putenv(),mapping的修改版本傳遞給合適的建立過程函式,將導致子過程使用一個修改的environment。

如果這個平臺支援unsetenv()函式,你可以刪除mapping中的專案。當從os.environ使用pop()或clear()刪除一個專案時,unsetenv()會自動被呼叫(版本2.6)。

os.curdir

作業系統用此常數字符串作為當前資料夾的引用。

os.pardir

作業系統用此常數字符串作為父資料夾的引用。

os.sep

系統使用此字元來分割路徑。

os.altsep

系統使用另外一個字元來分割路徑,如果只有一個分割字元存在,則是None。

os.extsep

分割基本檔名和副檔名的字元。

os.pathsep

系統使用此字元來分割搜尋路徑(像PATH),例如POSIX上`:`,Windows上的`;`,也可以通過os.path。

os.defpath

預設的搜尋路徑用作 execp()和spawnp()如果環境沒有 `PATH`。 也可以通過os.path。

os.linesep

當前平臺上的換行符字串. 在POSIX上是`n`,或者 在Windows上是`rn` . 不要使用 os.linesep作為換行符,當寫入文字檔案時 (預設); 使用`n`代替, 在所有平臺上。

os.devnull

空裝置的檔案路徑.例如:POSIX上 `/dev/null` . 也可以通過os.path。

檔案和資料夾

os.access(path, mode)

使用現在的uid/gid嘗試訪問path。注大部分操作使用有效的uid/gid, 因此執行環境可以在 suid/sgid環境嘗試,如果使用者有權訪問path。 mode為F_OK,測試存在的path,或者它可以是包含R_OK, W_OK和X_OK或者R_OK, W_OK和X_OK其中之一或者更多。如果允許訪問返回 True , 否則返回False。檢視Unix手冊access(2) 獲取更多資訊。在unix,Windows中有效。

*注: *使用access()去測試使用者是否授權. 在實際使用open()開啟一個檔案前測試會建立一個安全漏洞前 , 因為使用者會利用這短暫時間在檢測和開啟這個檔案去修改它。即使access()表明它將succeed,但I/O 操作也可能會失敗, 如網路檔案系統。

os.F_OK
作為access()的mode引數,測試path是否存在.
os.R_OK
包含在access()的mode引數中 , 測試path是否可讀.
os.W_OK
包含在access()的mode引數中 ,測試path是否可寫.
os.X_OK
包含在access()的mode引數中 ,測試path是否可執行.

os.chdir(path)

改變當前工作目錄。 在unix,Windows中有效。

os.fchdir(fd)

通過開啟的檔案描述符改變當前工作目錄。在unix中有效,請檢視相關文件.。

os.getcwd()

返回當前工作目錄的字串, 在unix,Windows中有效。

os.getcwdu()

返回一個當前工作目錄的Unicode物件。在unix,Windows中有效。

os.chroot(path)

改變根目錄為path。在unix中有效,請檢視相關文件.。

os.chmod(path, mode)

改變path的mode到數字mode。在unix,Windows中有效。mode為下面中的一個 (在stat模組中定義)或者bitwise或者它們的組合:

?stat.S_ISUID
?stat.S_ISGID
?stat.S_ENFMT
?stat.S_ISVTX
?stat.S_IREAD
?stat.S_IWRITE
?stat.S_IEXEC
?stat.S_IRWXU
?stat.S_IRUSR
?stat.S_IWUSR
?stat.S_IXUSR
?stat.S_IRWXG
?stat.S_IRGRP
?stat.S_IWGRP
?stat.S_IXGRP
?stat.S_IRWXO
?stat.S_IROTH
?stat.S_IWOTH
?stat.S_IXOTH

*注: *儘管Windows支援chmod(), 你只可以使用它設定只讀 flag (通過stat.S_IWRITE和stat.S_IREAD 常數或者一個相對應的整數)。所有其它的 bits都忽略了.

os.chown(path, uid, gid)

改變path的所屬使用者和組。在unix中有效,請檢視相關文件.。

os.link(source, link_name)

在unix中有效,請檢視相關文件.。

os.listdir(path)

返回path指定的資料夾包含的檔案或資料夾的名字的列表。 這個列表以字母順序。 它不包括 `.` 和`..` 即使它在資料夾中。在unix,Windows中有效。

Changed in version 2.3:在Windows NT/2k/XP 和Unix, 如果資料夾是一個Unicode object, 結果將是 Unicode objects列表。不能解碼的檔名將仍然作為string objects返回.

os.lstat(path)

像stat(),但是沒有符號連結。 這是stat()的別名 在某些平臺上,例如Windows。

os.mkfifo(path[, mode])

建立命名管道。在unix中有效,請檢視相關文件.。

os.mknod(filename[, mode=0600, device])

建立一個名為filename檔案系統節點(檔案,裝置特別檔案或者命名pipe)。 mode指定建立或使用節點的許可權, 組合 (或者bitwise) stat.S_IFREG, stat.S_IFCHR, stat.S_IFBLK, 和stat.S_IFIFO (這些常數在stat模組). 對於 stat.S_IFCHR和stat.S_IFBLK, 裝置定義了 最新建立的裝置特殊檔案 (可能使用 os.makedev()),其它都將忽略。新增version 2.3。

os.major(device)

從原始的裝置號中提取裝置major號碼 (使用stat中的st_dev或者st_rdev field)。新增version 2.3。

os.minor(device)

從原始的裝置號中提取裝置minor號碼 (使用stat中的st_dev或者st_rdev field )。新增version 2.3。

os.makedev(major, minor)

以major和minor裝置號組成一個原始裝置號。新增version 2.3.

os.mkdir(path[, mode])

以數字mode的mode建立一個名為path的資料夾.預設的 mode 是 0777 (八進位制)。 在有些平臺上, mode是忽略的. 當使用時。這當前的掩碼值是first masked out。 在unix,Windows中有效。也可以用於建立臨時資料夾; 檢視tempfile模組tempfile.mkdtemp()函式。

os.makedirs(path[, mode])

遞迴資料夾建立函式。像mkdir(), 但建立的所有intermediate-level資料夾需要包含子資料夾。丟擲一個error exception如果子資料夾已經存在或者不能建立。 預設的 mode 是 0777 (八進位制). 在有些平臺上, mode是忽略的。當使用時。這當前的掩碼值是first masked out。

os.pathconf(path, name)

在unix中有效,請檢視相關文件。

os.pathconf_names

在unix中有效,請檢視相關文件。

os.readlink(path)

返回符號連結所指向的檔案。在unix中有效,請檢視相關文件。

os.remove(path)

刪除路徑為path的檔案。如果path 是一個資料夾,將丟擲OSError; 檢視下面的rmdir()刪除一個 directory。 這和下面的unlink()函式文件是一樣的。在Windows,嘗試刪除一個正在使用的檔案將丟擲一個exception;在Unix,directory入口會被刪除,但分配給檔案的儲存是無效的,直到原來的檔案不再使用。 在unix,Windows中有效。

os.removedirs(path)

遞迴刪除directorie。 像rmdir(), 如果子資料夾成功刪除, removedirs()才嘗試它們的父資料夾,直到丟擲一個error(它基本上被忽略,因為它一般意味著你資料夾不為空)。例如, os.removedirs(`foo/bar/baz`) 將首先刪除 `foo/bar/baz`, 然後刪除 `foo/bar` 和 `foo` 如果它們是空的。 如果子資料夾不能被成功刪除,將丟擲OSError。

os.rename(src, dst)

重新命名file或者directory src 到dst.如果dst是一個存在的directory, 將丟擲OSError. 在Unix, 如果dst在存且是一個file,如果使用者有許可權的話,它將被安靜的替換. 操作將會失敗在某些Unix 中如果src和dst在不同的檔案系統中. 如果成功, 這命名操作將會是一個原子操作 (這是POSIX 需要). 在 Windows上, 如果dst已經存在, 將丟擲OSError,即使它是一個檔案。 在unix,Windows中有效。

os.renames(old, new)

遞迴重新命名資料夾或者檔案。像rename()。新增version 1.5.2.

os.rmdir(path)

刪除path資料夾. 僅當這資料夾是空的才可以, 否則, 丟擲OSError. 要刪除整個資料夾樹, 可以使用shutil.rmtree(). 在unix,Windows中有效。

os.stat(path)

執行一個stat()系統呼叫在給定的path上。返回值是一個物件,屬性與stat結構成員有關: st_mode (保護位), st_ino (inode number), st_dev (device), st_nlink (number of hard links), st_uid (所有使用者的id), st_gid (所有者group id), st_size (檔案大小, 以位為單位), st_atime (最近訪問的時間), st_mtime (最近修改的時間), st_ctime (依賴於平臺;在Unix上是metadata最近改變的時間,或者在 Windows上是建立時間):

import os
statinfo = os.stat(`somefile.txt`)
print statinfo

如果stat_float_times()返回True,time值是floats,以second進行計算。 一秒的小數部分也會顯示出來, 如果系統支援. 在Mac OS, 時間常常是 floats。檢視 stat_float_times() 獲取更多資訊。

在一些Unix系統上(例如 Linux), 下面的屬性也許是有效的: st_blocks (為檔案分配了多少塊), st_blksize (檔案系統blocksize), st_rdev (裝置型號如果是一個inode裝置). st_flags (使用者為檔案定義的flags)。

在unix,Windows中有效。

os.stat_float_times([newvalue])

決定stat_result是否以float物件顯示時間戳。

os.statvfs(path)

在unix中有效,請檢視相關文件.。

os.symlink(source, link_name)

建立一個符號連結。在unix中有效,請檢視相關文件。

os.tempnam([dir[, prefix]])

為建立一個臨時檔案返回一個唯一的path。在Windows使用TMP,依賴於使用的C庫。在unix,Windows中有效。

警告: 使用tempnam() 對於symlink攻擊是一個漏洞; 考慮使用tmpfile()代替。

os.tmpnam()

為建立一個臨時檔案返回一個唯一的path。在unix,Windows中有效。

*Warning: *使用tempnam() 對於symlink攻擊是一個漏洞; 考慮使用tmpfile()代替.

os.TMP_MAX

tmpnam() 將產生唯一名字的最大數值。

os.unlink(path)

刪除 file路徑. 與remove()相同; 在unix,Windows中有效。

os.utime(path, times)

返回指定的path檔案的訪問和修改的時間。如果時間是 None, 則檔案的訪問和修改設為當前時間 。 否則, 時間是一個 2-tuple數字, (atime, mtime) 用來分別作為訪問和修改的時間。在unix,Windows中有效。

os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

輸出在資料夾中的檔名通過在樹中游走,向上或者向下。在根目錄下的每一個資料夾(包含它自己), 產生3-tuple (dirpath, dirnames, filenames)【資料夾路徑, 資料夾名字, 檔名】。

dirpath是一個字串, directory的路徑. dirnames在dirpath中子資料夾的列表 (不包括 `.` `..`)。filenames 檔案是在dirpath不包含子資料夾的檔名的列表. 注: 列表中的names不包含path.為獲得dirpath中的一個檔案或者資料夾的完整路徑 (以頂目錄開始)或者, 操作 os.path.join(dirpath, name)。

如果optional引數topdown為True或者not指定, 一個directory的3-tuple將比它的任何子資料夾的3-tuple先產生 (directories 自上而下)。如果topdown為 False, 一個directory的3-tuple將比它的任何子資料夾的3-tuple後產生 (directories 自下而上)。

當topdown為True,呼叫者可以修改列表中列出的資料夾名字(也可以使用del或者slice), walk() 僅僅遞迴每一個包含在dirnames中的子資料夾; 可以減少查詢, 利用訪問的特殊順序,或者甚至 告訴 walk() 關於資料夾的建立者或者重新命名在它重新walk()之前。修改檔名當topdown 為False時是無效的, 因為在bottom-up模式中在dirnames中的directories比dirpath 它自己先產生 。

預設listdir()的errors將被忽略。 如果optional引數onerror被指定,它應該是一個函式; 它呼叫時有一個引數, 一個OSError例項. 報告這錯誤後,繼續walk,或者丟擲exception終止walk。注意filename是可用的的 ,exception物件的filename屬性。

預設, walk() 不會進入符號連結 。新增version 2.6。

獲取程式ID

os.ctermid()

返回程式控制終端的檔名。在unix中有效,請檢視相關文件.。

os.getegid()

返回當前程式有效的group的id。對應於當前程式的可執行檔案的”set id “的bit位。在unix中有效,請檢視相關文件。

os.geteuid()

返回當前程式有效的user的id。在unix中有效,請檢視相關文件。

os.getgid()

返回當前程式當前group的id。在unix中有效,請檢視相關文件。

os.getgroups()

返回當前程式支援的groups的id列表。在unix中有效,請檢視相關文件。

os.getlogin()

返回程式控制終端登陸使用者的名字。在大多情況下它比使用environment變數LOGNAME來得到使用者名稱,或使用pwd.getpwuid(os.getuid())[0] 得到當前有效使用者id的登陸名更為有效。在unix中有效,請檢視相關文件。

os.getpgid(pid)

返回pid程式的group id。如果pid為0,返回當前程式的group id。在unix中有效,請檢視相關文件。

os.getpgrp()

返回當前程式組的id。在unix中有效,請檢視相關文件。

os.getpid()

返回當前程式的id。在unix,Windows中有效。

os.getppid()

返回當前父程式的id。在unix中有效,請檢視相關文件。

os.getuid()

返回當前當前程式使用者的id。在unix中有效,請檢視相關文件。

環境變數

os.getenv(varname[, value])

返回environment變數varname的值,如果value不存在,預設為None。在大多版本的unix,Windows中有效。

os.putenv(varname, value)

設定varname環境變數為value值。此改變影響以os.system(), popen() 或 fork()和execv()啟動的子程式。在大多版本的unix,Windows中有效。

當支援putenv()時,在os.environ分配專案時,自動呼叫合適的putenv()。然而,呼叫putenv() 不會更新os.environ,所以直接設定os.environ的項。

設定程式ID

os.setegid(egid)

設定當前程式有效組的id。在unix中有效,請檢視相關文件。

os.seteuid(euid)

設定當前程式有效使用者的id。在unix中有效,請檢視相關文件。

os.setgid(gid)

設定當前程式組的id。在unix中有效,請檢視相關文件。

os.setgroups(groups)

設定當前程式支援的groups id列表。groups必須是個列表,每個元素必須是個整數,這個操作只對超級使用者有效,在unix中有效,請檢視相關文件。

os.setpgrp()

呼叫system的setpgrp()或setpgrp(0, 0)() ,依賴於使用的是哪個版本的system。 請檢視 Unix手冊. 在unix中有效,請檢視相關文件。 os.setpgid(pid, pgrp) 呼叫system的setpgid()設定pid程式group的id為pgrp.請檢視 Unix手冊. 在unix中有效,請檢視相關文件。

os.setreuid(ruid, euid)

設定當前process當前 和有效的使用者id。 在unix中有效,請檢視相關文件。

os.setregid(rgid, egid)

設定當前process當前 和有效的組id。在unix中有效,請檢視相關文件。

os.getsid(pid)

呼叫system的getsid()。 請檢視 Unix手冊. 在unix中有效,請檢視相關文件。

os.setsid()

呼叫system的setsid()。請檢視 Unix手冊. 在unix中有效,請檢視相關文件。

os.setuid(uid)

設定當前user id。在unix中有效,請檢視相關文件。

程式返回狀態

os.strerror(code)

返回程式中錯誤code的錯誤資訊。在某些平臺上,當給一個未知的code,strerror()返回NULL,將丟擲ValueError。在unix,Windows中有效。

檔案相關操作

os.umask(mask)

設定當前許可權掩碼,同時返回先前的許可權掩碼。在unix,Windows中有效。

os.fdopen(fd[, mode[, bufsize]])

返回一個檔案描述符號為fd的開啟的檔案物件。mode和bufsize引數,和內建的open()函式是同一個意思。在unix,Windows中有效。 mode必須以`r`, `w`,或者`a`開頭, 否則丟擲ValueError。以`a`開頭的mode, 檔案描述符中O_APPEND位已設定。

os.popen(command[, mode[, bufsize]])

給或從一個command開啟一個管理。返回一個開啟的連線到管道檔案物件,檔案物件可以讀或寫,在於模式是`r`(預設) 或`w`,bufsize引數,和內建的open()函式是同一個意思。 command返回的狀態 (在wait()函式中編碼) 和呼叫檔案物件的close()返回值一樣, 除非返回值是0(無錯誤終止), 返回None 。 在unix,Windows中有效。在 2.6版本中已拋棄。使用subprocess模組。

os.tmpfile()

返回一個開啟的模式為(w+b)的檔案物件 .這檔案物件沒有資料夾入口,沒有檔案描述符,將會自動刪除。在unix,Windows中有效。

檔案描述符操作

os.close(fd)

關閉檔案描述符fd. 在unix,Windows中有效。

os.dup(fd)

返回檔案描述符fd的cope. 在unix,Windows中有效。

os.dup2(fd, fd2)

複製檔案描述符fd到fd2, 如果有需要首先關閉fd2. 在unix,Windows中有效。

os.fchmod(fd, mode)

改變檔案描述符為fd的檔案 `mode` 為mode.檢視chmod()文件 中mode的值。在unix中有效,請檢視相關文件。version 2.6中新增。

os.fchown(fd, uid, gid)

改變檔案描述符為fd的檔案的所有者和group的id為uid和gid。 如果不想它們中的一個, 就設定為-1。在unix中有效,請檢視相關文件。version 2.6中新增。

os.fdatasync(fd)

強制將檔案描述符為fd的檔案寫入硬碟。不強制更新metadata。在unix中有效,請檢視相關文件。注:在MacOS中無效。

os.fpathconf(fd, name)

返回一個開啟的檔案的系統配置資訊。name為檢索的系統配置的值,它也許是一個定義系統值的字串,這些名字在很多標準中指定(POSIX.1, Unix 95, Unix 98, 和其它)。一些平臺也定義了一些額外的名字。這些名字在主作業系統上pathconf_names的字典中。對於不在pathconf_names中的配置變數,傳遞一個數字作為名字,也是可以接受的。 在unix中有效,請檢視相關文件。

如果name是一個字串或者未知的,將丟擲ValueError。如果name是一個特別的值,在系統上不支援,即使它包含在pathconf_names中,將會丟擲錯誤數字為errno.EINVAL的OSError。

os.fstat(fd)

返回檔案描述符fd的狀態,像stat()。在unix,Windows中有效。 os.fstatvfs(fd) 返回包含檔案描述符fd的檔案的檔案系統的資訊,像 statvfs()。在unix中有效,請檢視相關文件。

os.fsync(fd)

強制將檔案描述符為fd的檔案寫入硬碟。在Unix, 將呼叫fsync()函式;在Windows, 呼叫 _commit()函式。

如果你準備操作一個Python檔案物件f, 首先f.flush(),然後os.fsync(f.fileno()), 確保與f相關的所有記憶體都寫入了硬碟.在unix,Windows中有效。

os.ftruncate(fd, length)

裁剪檔案描述符fd對應的檔案, 所以它最大不能超過檔案大小。在unix中有效,請檢視相關文件。

os.isatty(fd)

如果檔案描述符fd是開啟的,同時與tty(-like)裝置相連,則返回true, 否則False。 在unix中有效,請檢視相關文件。

os.lseek(fd, pos, how)

設定檔案描述符 fd當前位置為pos, how方式修改: SEEK_SET 或者 0 設定從檔案開始的計算的pos; SEEK_CUR或者 1 則從當前位置計算; os.SEEK_END或者2則從檔案尾部開始. 在unix,Windows中有效。

os.write(fd, str)

寫入字串到檔案描述符 fd中. 返回實際寫入的字串長度. 在unix,Windows中有效。

*注: *這函式是打算為低層 I/O服務的 ,同時必須應用在os.open()或者pipe()函式返回的檔案描述符. 讀取內建函式open()或者by popen()或者fdopen(),或者sys.stdin返回的一個“檔案物件” , 使用它的read()或者readline()方法

下面的常數是open()函式的 flags引數選項. 它們可以使用 bitwise合併或者operator |。它們中的一些常數並不是在所有平臺都有效. 它們更多使用請檢視相關資料。

os.O_RDONLY
os.O_WRONLY
os.O_RDWR
os.O_APPEND
os.O_CREAT
os.O_EXCL
os.O_TRUNC

這些常數在Unix and Windows上有效。

os.O_DSYNC
os.O_RSYNC
os.O_SYNC
os.O_NDELAY
os.O_NONBLOCK
os.O_NOCTTY
os.O_SHLOCK
os.O_EXLOCK

這些常數僅在Unix上有效.

os.O_BINARY
os.O_NOINHERIT
os.O_SHORT_LIVED
os.O_TEMPORARY
os.O_RANDOM
os.O_SEQUENTIAL
os.O_TEXT

這些常數僅在 Windows上有效.

os.O_ASYNC
os.O_DIRECT
os.O_DIRECTORY
os.O_NOFOLLOW
os.O_NOATIME

這些常數是 GNU擴充套件,如果沒有在C庫宣告剛沒有.

os.SEEK_SET
os.SEEK_CUR
os.SEEK_END

lseek()函式的引數。 它們的值分別是 0, 1,和 2。在Unix and Windows上有效。版本2.5新增。

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"轉換成使用者目錄
os.path.expandvars(path)  #根據環境變數的值替換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(path1[, path2[, ...]])  #把目錄和檔名合成一個路徑
os.path.normcase(path)  #轉換path的大小寫和斜槓
os.path.normpath(path)  #規範path字串形式
os.path.realpath(path)  #返回path的真實路徑
os.path.relpath(path[, start])  #從start開始計算相對路徑
os.path.samefile(path1, path2)  #判斷目錄或檔案是否相同
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下,返回驅動器名和路徑組成的元組
os.path.splitext(path)  #分割路徑,返回路徑名和副檔名的元組
os.path.splitunc(path)  #把路徑分割為載入點與檔案
os.path.walk(path, visit, arg)  #遍歷path,進入每個目錄都呼叫visit函式,visit函式必須有3個引數(arg, dirname, names),dirname表示當前目錄的目錄名,names代表當前目錄下的所有檔名,args則為walk的第三個引數
os.path.supports_unicode_filenames  #設定是否支援unicode路徑名

後序

本文內容整理自 AllenWDK 等的部落格,僅用作工作和學習中的參考,版權歸原作者所有。本文所列內容並不全面,更或者還存在錯誤和缺陷。在以後的工作和學習中,將繼續更新和完善本文內容。

相關文章