os ,shutil,send2trash模組彙總(tcy)
os-作業系統介面 2019/6/8
------------------------------------------------------------------------------
本文彙總os模組的常用 操作,包括os.path。
對於檔案的高階操作參考shutil模組:https://mp.csdn.net/postedit/91346064
os模組:提供對目錄或檔案新建/刪除/檢視操作,對檔案及目錄的路徑操作 shutil:高階的 檔案、資料夾、壓縮包 處理模組 提供複製、移動、改名和刪除檔案 及 打包 壓縮 解壓 send2trash模組安全刪除 將資料夾和檔案傳送到計算機的垃圾箱或回收站
序號 | 分類 | 名稱 | 含義 |
1 | 常量 | os.sep | 路徑分隔符'\\' |
2 | 常量 | os.altsep | 分隔符'/' |
3 | 常量 | os.curdir | 檔案路徑分隔符'.' |
4 | 常量 | os.extsep | 副檔名之間分隔的符'.' |
5 | 常量 | os.devnull | null裝置的路徑'nul' |
6 | 常量 | os.linesep | 行終止符'\r\n'Windows。文字寫用'\n' |
7 | 常量 | os.defpath | exec函式族如沒制定PATH環境變數,預設查詢os.defpath值作為子程式PATH的值 |
8 | 常量 | os.pardir | 父目錄常量字串'..' |
9 | 常量 | os.pathsep | 路徑分隔符分號';' |
10 | 環境變數 | os.environ | dict包含環境變數 (修改) |
11 | 環境變數 | os.environ["path"] | 得到環境變數path的值 |
12 | 環境變數 | os.getenv(varname[,value]) | 返回環境變數varname的值,os.getenv('path')如無返回value或None |
13 | 環境變數 | os.putenv(varname, value) | 設定環境變數os.putenv('PATH','/A/AA) 新增;不對os.environ產生影響應通過os.environ設定 |
14 | 其他 | os.cpu_count() | |
15 | 其他 | os.ctermid() | 返回當前程式的控制終端 |
16 | 其他 | os.strerror(code) | 返回錯誤碼code對應的錯誤資訊,當錯誤資訊未知時,丟擲一個ValueError異常。 |
17 | 其他 | os.umask(mask) | 設定當前程式的許可權掩碼,並且返回設定前的許可權掩碼。 |
18 | 其他 | os.uname() | 返回5元組當前作業系統資訊,該5元組包括:(sysname, nodename, release, version, machine) |
19 | 其他 | os.urandom(2) | 返回一串適合加密用途的大小隨機位元組#b'\xa4"' |
20 | 屬性 | os.name | ‘系統平臺windows 'nt' |
21 | 屬性 | os.path 模組 | 獲取檔案的屬性資訊。 |
22 | 檔案和目錄 | os.access(path, mode) | 判斷檔案是否可讀寫os.access("/tmp/foo.txt", os.R_OK) |
23 | 檔案和目錄 | os.chdir(path) | 改變當前工作目錄;相當於CD命令; os.chdir('d:\\outlook') |
24 | 檔案和目錄 | os.chflags(path, flags) | 設定路徑的標記為數字標記。os.chflags( path, stat.SF_NOUNLINK ) |
25 | 檔案和目錄 | # 為檔案設定標記,使得它不能被重新命名和刪除 | |
26 | 檔案和目錄 | os.chmod(path, mode) | 修改路徑的許可權os.chmod(path, stat.S_IWOTH)# 設定檔案可以被其他使用者寫入 |
27 | 檔案和目錄 | os.chown(path, uid, gid) | 設定檔案的使用者id和組id;unix |
28 | 檔案和目錄 | os.chroot(path) | 改變當前程式的根目錄unix |
29 | 檔案和目錄 | os.fchdir(fd) | 通過檔案描述符改變當前工作目錄Unix |
30 | 檔案和目錄 | os.getcwd() | 得到當前目錄;'C:\\Users\\Administrator' |
31 | 檔案和目錄 | os.getlogin() | 得到使用者登入名稱 'Administrator' |
32 | 檔案和目錄 | os.lchflags(path, flags) | 設定路徑的標記為數字標記,類似 chflags(),但是沒有軟連結unix |
33 | 檔案和目錄 | os.lchmod(path, mode) | 修改連線檔案許可權unix |
34 | 檔案和目錄 | os.lchown(path, uid, gid) | 更修改檔案的uid和gid,類似 chown,但是不追蹤連結。Unix |
35 | 檔案和目錄 | os.link(src, dst) | 建立硬連結即拷貝,dst = "/tmp/foo.txt";os.link( path, dst) |
36 | 檔案和目錄 | os.listdir(path) | 返回path資料夾包含的檔案或資料夾列表os.listdir( r'C:\Users\Administrator' ) |
37 | 檔案和目錄 | for file in dirs:print (file)# 輸出所有檔案和資料夾 | |
38 | 檔案和目錄 | os.lstat(path) | 像stat()返回檔案資訊,如path是符號連結只處理該符號連結,原始檔。;fstat的別名 |
39 | 檔案和目錄 | os.major(device) | 從原始裝置號中提取裝置major號碼 (用stat中st_dev或st_rdev field) |
40 | 檔案和目錄 | info = os.lstat(path);major_dnum = os.major(info.st_dev);#0 | |
41 | 檔案和目錄 | minor_dnum = os.minor(info.st_dev)#103 | |
42 | 檔案和目錄 | os.makedev(major, minor) | 以major和minor裝置號組成一個原始裝置號os.makedev(major_dnum, minor_dnum)#103 |
43 | 檔案和目錄 | os.makedirs(path[, mode]) | 遞迴資料夾建立像mkdir();如子目錄存在或無法建立拋OSError |
44 | 檔案和目錄 | path = "/tmp/home/monthly/daily";os.makedirs( path, 0o777 ); | |
45 | 檔案和目錄 | os.minor(device) | 從原始的裝置號中提取裝置minor號碼 (使用stat中的st_dev或者st_rdev field ) |
46 | 檔案和目錄 | os.mkdir(path[, mode]) | 建立目錄;可指定mode許可權(和系統umask掩碼進行運算)如目錄存在FileExistsError引發 |
47 | 檔案和目錄 | path = "/tmp/home/monthly/daily/hourly";os.mkdir( path, 0755 ) | |
48 | 檔案和目錄 | os.mkfifo(path[, mode]) | 建立命名管道,mode 為數字,預設為 0666 (八進位制) |
49 | 檔案和目錄 | path = "/tmp/hourly";os.mkfifo( path, 0644 )# 建立目錄賦予許可權 | |
50 | 檔案和目錄 | os.mknod(filename[, mode=0600, device]) | 建立一個名為filename檔案系統節點(檔案,裝置特別檔案或者命名pipe)。 |
51 | 檔案和目錄 | filename = '/tmp/tmpfile';mode = 0600|stat.S_IRUSR;os.mknod(filename, mode) | |
52 | 檔案和目錄 | os.pathconf(path, name) | 返回相關檔案的系統配置資訊。Unix |
53 | 檔案和目錄 | os.popen(command[, mode[, bufsize]]) | 從一個 command 開啟一個管道os.popen('mkdir nwdir','r', 1) |
54 | 檔案和目錄 | os.readlink(path) | 返回軟連結所指向的檔案的路徑;Unix |
55 | 檔案和目錄 | os.remove(file) | 刪除檔案。如是目錄丟擲OSError;os.remove("aa.txt");os.listdir(os.getcwd()) |
56 | 檔案和目錄 | os.removedirs(path) | 遞迴刪除目錄,可刪除非空目錄;os.removedirs("/test") |
57 | 檔案和目錄 | os.rename(src, dst) | 重新命名檔案或目錄,若dst是目錄或存在 則引發異常os.rename('/A/AA/a','/A/AA/b') |
58 | 檔案和目錄 | os.renames(old, new) | 遞迴對目錄或檔案更名;注意刪除許可權問題os.renames("aa1.txt","newdir/aanew.txt") |
59 | 檔案和目錄 | os.rmdir(path) | 刪除空目錄,如非空丟擲OSError; os.rmdir("mydir") |
60 | 檔案和目錄 | os.scandir(path=None) | 返回給定路徑的DirEntry物件的迭代器。 |
61 | 檔案和目錄 | os.stat(path) | 獲取path指定的路徑的資訊os.stat('/home/sy/Python3//01.py) |
62 | 檔案和目錄 | os.statvfs_result(self, /, *args, **kwargs) | 獲取指定路徑的檔案系統統計資訊 |
63 | 檔案和目錄 | os.symlink(src, dst) | 建立一個軟連結src = '/usr/bin/python';dst = '/tmp/python';os.symlink(src, dst) |
64 | 檔案和目錄 | os.unlink(path) | 刪除檔案路徑同remove() |
65 | 檔案和目錄 | os.utime(path, times=None) | 設定路徑的訪問和修改時間。times是(atime, mtime)設定檔案訪問和修改時間 |
66 | 檔案和目錄 | os.walk(top, topdown=True, οnerrοr=None, followlinks=False) | 目錄樹生成器。輸出在目錄中的檔名資料夾 |
67 | 檔案和目錄 | shutil.rmtree(path) | 刪除整個目錄樹 |
68 | 檔案描述符 | os.close(fd) | 關閉檔案描述符 fd fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT );;os.close( fd ) |
69 | 檔案描述符 | os.closerange(fd_low, fd_high) | 關閉所有檔案描述符[fd_low ,fd_high), 錯誤會忽略os.closerange( fd, fd) |
70 | 檔案描述符 | os.dup(fd) | 複製檔案描述符 fd;d_fd = os.dup( fd ) os.write(d_fd, "This is test".encode()) |
71 | 檔案描述符 | os.dup2(fd, fd2) | 將一個檔案描述符 fd 複製到另一個 fd2;fd=open('txt','a'); os.dup2(f.fileno(), 1) |
72 | 檔案描述符 | # 將這個檔案描述符代表的檔案傳遞給1描述符指向檔案也就是 stdout | |
73 | 檔案描述符 | os.fchmod(fd, mode) | 改變檔案訪問許可權,檔案由引數fd指定,mode是Unix下的檔案訪問許可權 |
74 | 檔案描述符 | os.fchown(fd, uid, gid) | 修改檔案所有權,修改檔案的使用者ID和使用者組ID檔案由檔案描述符fd指定Unix |
75 | 檔案描述符 | os.fdatasync(fd) | 強制將檔案寫入磁碟,檔案由fd指定,不強制更新檔案的狀態資訊Unix |
76 | 檔案描述符 | os.fdopen(fd, "w+") | 通過檔案描述符 fd 建立檔案物件#fo = os.fdopen(fd, "w+") |
77 | 檔案描述符 | os.fpathconf(fd, name) | 返回開啟檔案系統配置資訊。Unix |
78 | 檔案描述符 | os.fstat(fd) | 返回檔案描述符fd的狀態像stat()。 |
79 | 檔案描述符 | os.fstatvfs(fd) | 返回包含檔案描述符fd的檔案的檔案系統的資訊類似 statvfs(),Unix |
80 | 檔案描述符 | os.fsync(fd) | 強制將檔案描述符為fd的檔案寫入硬碟。os.write(fd, "This is test"); |
81 | 檔案描述符 | fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT );os.write(fd, "This is test");os.fsync(fd) | |
82 | 檔案描述符 | os.ftruncate(fd, length) | 裁剪檔案fd對應的檔案, 最大不能超過檔案大小。os.ftruncate(fd, 10) |
83 | 檔案描述符 | os.isatty(fd) | 檢查一個檔案描述符fd指示的檔案是否是一個tty字元裝置檔案 #False。 |
84 | 檔案描述符 | os.lseek(fd, pos, how) | 設定檔案描述符 fd當前位置為pos, how= 0 ,1,2設定從檔案開始,當前,尾部計算pos; |
85 | 檔案描述符 | os.open(file, flags[, mode]) | 開啟一個檔案fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT ) |
86 | 檔案描述符 | os.pipe() | 建立一個管道. 返回一對檔案描述符(r, w) 分別為讀和寫r, w = os.pipe() |
87 | 檔案描述符 | os.read(fd, n) | 從檔案描述符 fd 中讀取最多 n 個位元組fd = os.open("f1.txt",os.O_RDWR);ret = os.read(fd,12) |
88 | 檔案描述符 | os.truncate(fd, length) | 將由path指定的檔案截斷為特定長度 |
89 | 檔案描述符 | os.write(fd, str) | 寫字串到檔案描述符 fd中. 返回實際寫入的字串長度 |
90 | 程式 | os._exit(n) | 退出狀態為n程式不清理,重新整理stdio緩衝區等;用在fork之後子程式;正常退出用sys.exit(n) |
91 | 程式 | os.getegid() | 返回當前程式的有效使用者組ID |
92 | 程式 | os.geteuid() | 返回當前程式的有效使用者ID |
93 | 程式 | os.getuid() | 返回當前程式的使用者ID |
94 | 程式 | os.getgid() | 返回當前程式的使用者組ID |
95 | 程式 | os.getgroups() | 返回由當前程式附加的組ID編號組成的列表 |
96 | 程式 | os.getresgid() | 返回(rgid, egid, sgid)當前程式實際使用者組ID,有效的使用者組ID和儲存的使用者組ID |
97 | 程式 | os.setegid(egid) | 設定當前程式的有效使用者組ID |
98 | 程式 | os.seteuid(euid) | 設定當前程式的有效使用者ID |
99 | 程式 | os.setgroups(groups) | 設定當前程式有關附加組ID,groups(int序列型別),只對超級使用者有效 |
100 | 程式 | os.setpgid(pid, pgrp) | 設定程式的使用者組ID如果程式的ID為pid,所在用程式組ID為pgrp。 |
101 | 程式 | os.setregid(rgid, egid) | 設定當前程式的有效使用者組ID和實際使用者組ID |
102 | 程式 | os.setresgid(rgid,egid,sgid) | 設定當前程式的實際組ID,有效組ID和儲存的使用者組ID。 |
103 | 程式 | os.setresuid(ruid,euid,suid) | 設定當前程式的實際使用者ID,有效使用者ID和儲存的使用者組ID。 |
104 | 程式 | os.setreuid(ruid, euid) | 設定當前程式的實際使用者ID和有效使用者ID |
105 | 程式 | os.getpgid(pid) | 返回程式ID為pid的程式的組ID,如果pid=0,則返回當前呼叫程式的程式組ID |
106 | 程式 | os.getpgrp() | 返回當前程式的程式組ID |
107 | 程式 | os.getppid() | 返回當前程式的父程式的ID |
108 | 程式 | os.getsid(pid) | 返回程式ID為pid的程式所在的會話的會話ID |
109 | 程式 | os.setsid() | 設定當前程式的會話ID |
110 | 程式 | os.setuid(uid) | 設定當前程式的使用者ID |
111 | 程式 | os.abort() | 向呼叫該函式的程式傳送一個SIGABRT訊號,在Unix系統上預設的行為是產生一個core檔案 |
112 | 程式 | os.execl(path, arg0, arg1, ...) | 執行一個新程式,用新程式替換當前子程式的程式空間,該子程式從新程式的main函式開始執行 |
113 | 程式 | os.execle(path, arg0, arg1, ..., env) | Unix下新程式程式id是原來被替換的子程式的程式id。 |
114 | 程式 | os.execlp(file, arg0, arg1, ...) | 原來子程式中開啟的所有描述符預設都是可用的,不會被關閉 |
115 | 程式 | os.execlpe(file, arg0, arg1, ..., env) | execv*系列的函式表示其接受的引數是以一個list或者是一個tuple表示的參數列 |
116 | 程式 | os.execv(path, args) | execl*系列的函式表示其接受的引數是一個個獨立的引數傳遞進去的。 |
117 | 程式 | os.execve(path, args, env) | exec*p*系列函式表示在執行引數傳遞過去的命令時使用PATH環境變數來查詢命令 |
118 | 程式 | os.execvp(file, args) | exec*e系列函式表示在執行命令時讀取該引數指定的環境變數作為預設的環境配置, |
119 | 程式 | os.execvpe(file, args, env) | 最後的env引數必須是一個mapping物件,可以是一個dict型別的物件。 |
os.execv('/bin/echo', ['foo', 'bar'])#bar foo執行一個新程式取代當前程式 | |||
os.execl('/usr/bin','argc任意','test.py','test.py的引數,...') | |||
120 | 程式 | os.fork() | fork出一個子程式,在子程式中返回0,在父程式中返回子程式ID,如果發生錯誤,則丟擲OSError異常 |
121 | 程式 | os.nice(increment) | 增加increment到程式的nice值,返回一個新的nice值。 |
122 | 程式 | os.wait() | 等待任何一個子程式結束,返回一個tuple,包括子程式的程式ID和退出狀態資訊 |
123 | 程式 | os.wait3(options) | 和waitpid()類似,不需指定pid,返回3元組,包括結束子程式程式id,退出狀態及資源使用資訊 |
124 | 程式 | os.waitpid(pid,options) | 等待完成給定的過程 引數2:os.WNOHANG - 如沒有子程式退出不阻塞waitpid()呼叫 |
125 | 程式 | os.WCONTINUED - 如子程式從stop狀態變為繼續執行,則返回程式自前一次報告以來的資訊。 | |
126 | 程式 | os.WUNTRACED - 如果子程式被停止過而且其狀態資訊還沒有報告過,則報告子程式的資訊。 | |
128 | 程式 | os.getpid() | 返回當前程式ID #12100 |
129 | 程式 | os.kill(pid,sig ) | 將訊號sig傳送到程式pid。模組中定義了h os t平臺上可用的特定訊號的常量signal。 |
130 | 程式 | os.spawnl(模式,路徑,... ) | 在新程式中執行程式路徑。 |
131 | 程式 | os.spawnle(模式,路徑,...,env ) | 在新程式中執行程式路徑。 |
132 | 程式 | os.spawnlp(模式,檔案,... ) | 在新程式中執行程式路徑。os.spawnlp(os.P_WAIT, 'cp', 'cp', 'index.html', '/dev/null') |
133 | 程式 | os.spawnlpe(模式,檔案,...,env ) | 在新程式中執行程式路徑。 |
134 | 程式 | os.spawnv(模式,路徑,args ) | 在新程式中執行程式路徑。 |
135 | 程式 | os.spawnve(mode,path,args,env ) | 在新程式中執行程式路徑。 |
136 | 程式 | os.spawnvp(模式,檔案,args ) | 在新程式中執行程式路徑。 |
137 | 程式 | os.spawnvpe(模式,檔案,args,env ) | 在新程式中執行程式路徑。os.spawnvpe(os.P_WAIT, 'cp', ['cp', 'index.html', '/dev/null'], os.environ) |
138 | 程式 | os.startfile(路徑[,操作] ) | 使用其關聯的應用程式啟動檔案。 |
139 | 程式 | os.system(cmd) | 執行shell命令;os.system('ls -al')#獲取隱藏檔案 |
140 | 程式 | os.times() | 返回當前的全域性程式時間。os.times() #nt.times_result(user=7.004444899999999, |
141 | 程式 | system=6.552042, children_user=0.0, children_system=0.0, elapsed=0.0) | |
142 | 程式1 | 處理system(),wait()和waitpid()返回的狀態資訊: | |
143 | 程式1 | os.WCOREDUMP(status) | 如果一個core檔案被建立,則返回True,否則返回False。 |
144 | 程式1 | os.WIFCONTINUED(status) | 如果一個程式被停止過,並且繼續執行,則返回True,否則返回False。 |
145 | 程式1 | os.WIFSTOPPED(status) | 如果子程式被停止過,則返回True,否則返回False。 |
146 | 程式1 | os.WIFSIGNALED(status) | 如果程式由於訊號而退出,則返回True,否則返回False。 |
147 | 程式1 | os.WIFEXITED(status) | 如果程式是以exit()方式退出的,則返回True,否則返回False。 |
148 | 程式1 | os.WEXITSTATUS(status) | 如WIFEXITED(status)返回True,則返回一整數,該整數是exit()呼叫引數。否則返回值是未定義 |
149 | 程式1 | os.WSTOPSIG(status) | 返回導致程式停止的訊號 |
150 | 程式1 | os.WTERMSIG(status) | 返回導致程式退出的訊號 |
2.os例項
# 例項1:
os.getcwd() # 'C:\\python37' C:\python37\Lib
os.chdir(r'C:\python36\test_chdir') #修改當前工作目錄成功返回True
os.system('mkdir today') # Run the command mkdir in the system shell
# ------------------------------------------------------------------------------
# 例項2.1:檢視指定路徑中所有檔案,資料夾
import os
for root, dirs, files in os.walk(r"D:\A"):
try:
print('directory < ' + root + ' >')
for d in dirs:
print(d)
for f in files:
print(f)
except os.OSError as e:
print(os.strerror(e.errno))
"""
directory < D:\A >
AA
directory < D:\A\AA >
test.txt
"""
# ------------------------------------------------------------------------------
# 例項2.2:檢視指定路徑中所有檔案,資料夾
for root,dirs,files in os.walk(r"D:\A",topdown=False):
for name in files:
print(os.path.join(root, name))
for name in dirs:
print(os.path.join(root, name))
"""
D:\A\AA\test.txt
D:\A\AA
"""
# ------------------------------------------------------------------------------
# 例項3.1:標準檔案讀寫
import os
os.makedir('pathdir') #建立路徑
os.makedirs(r'd:\pathdir')#建立路徑
f = open("text.txt",'w+')#直接開啟一個檔案,如果檔案不存在就建立檔案
f.read([size]) #size為讀取的長度,以byte為單位
f.readline([size]) #讀一行,如果定義了size,有可能返回的只是一行的一部分
f.readlines([size]) #把檔案每一行作為一個list的一個成員,並返回這個list
# 如果提供size引數,size是表示讀取內容的總長,也就是說可能只讀到檔案的一部分。
f.write(str) #把str寫到檔案中,write()並不會在str後加上一個換行符
f.writelines(seq) #把seq的內容全部寫到檔案中(多行一次性寫入)。不會在每行後面加上任何東西。
f.close() #關閉檔案。
f.flush() #把緩衝區的內容寫入硬碟
f.fileno() #返回一個長整型的”檔案標籤“
f.isatty() #檔案是否是一個終端裝置檔案(unix系統中的)
f.tell() #返回檔案操作標記的當前位置,以檔案的開頭為原點
f.next() #返回下一行,並將檔案操作標記位移到下一行。
f.seek(offset[,whence]) #檔案定位到offset位置(whence=0,1,2開頭,當前,末尾為原點進行計算)
# 如檔案以a或a+的模式開啟,每次進行寫操作時,檔案操作標記會自動返回到檔案末尾。
f.truncate([size]) #把檔案裁成規定的大小,預設的是裁到當前檔案操作標記的位置。
# 如size比檔案大小還大,可能不改變檔案,也可能用0或隨機內容把檔案補到相應的大小
# ------------------------------------------------------------------------------
例項3.2:檔案描述符讀寫檔案
# fd讀寫標誌:
"""
os.O_RDONLY 只讀
os.O_WRONLY 只寫
os.O_RDWR 讀寫
os.O_APPEND 附加;寫操作前將檔案指標移動到檔案末尾
os.O_CREAT 建立檔案,寫入檔案存在無效
os.O_EXCL 如檔案存在返回錯誤值。僅適用與_O_CREAT一起使用時
os.O_TRUNC 檔案內容清除
"""
import os
from datetime import datetime as dt
path='D:\\A\\AA\\test.txt'
fd = os.open(path,os.O_RDWR|os.O_APPEND|os.O_CREAT)# 獲取檔案物件
print('fd=',fd)# fd=<_io.TextIOWrapper name='text.txt' mode='w+' encoding='cp936'>
# 寫入字串
str1 = "current time is "+dt.now().strftime("%Y-%m-%d %H:%M:%S")+'\n'
ret = os.write(fd,bytes(str1, 'UTF-8'))#寫入的位數為ret=36
# 讀檔案
os.lseek(fd, 0, 0) #移動檔案指標到檔案開頭
result=os.read(fd,1000)
print(result.decode())
# 關閉檔案
os.close(fd)
3.備註 退出狀態
Name | Remark |
os.EX_OK | 正常退出 |
os.EX_USAGE | 命令執行不正確,如命令引數錯誤 |
os.EX_DATAERR | 輸入資料有誤 |
os.EX_NOINPUT | 輸入檔案不存在或者不可讀 |
os.EX_NOUSER | 指定的使用者不存在 |
os.EX_NOHOST | 指定的主機id不存在 |
os.EX_UNAVAILABLE | 請求的服務不可用 |
os.EX_SOFTWARE | 內部軟體錯誤 |
os.EX_OSERR | 作業系統錯誤 |
os.EX_OSFILE | 系統檔案不存在 |
os.EX_CANTCREAT | 無法建立指定的輸出檔案 |
os.EX_IOERR | 在進行I/O操作時出錯 |
os.EX_PROTOCOL | 協議切換操作非法,或者協議切換不可用 |
os.EX_NOPERM | 沒有許可權執行該操作 |
os.EX_CONFIG | 配置錯誤 |
方法 | 說明 |
path=r'C:\Users\Administrator\A\AA\test.txt' | |
ntpath.splitunc(path) | 把路徑分割為載入點與檔案# ('', 'C:\\Users\\Administrator\\A\\AA\\test.txt') |
os.path.abspath(path) | 相對路徑轉絕對路徑'./boys'#相對 |
os.path.basename(path) | 返回檔名 'test.txt' |
os.path.commonpath([]) | 返回最長公共子路徑;['/usr/lib', '/usr/local/lib']#'\\usr'格式相同切非空否則異常 |
os.path.commonprefix([]) | 返回共有最長路徑字首['/usr/lib', '/usr/local/lib']#'/usr/l' |
os.path.dirname(path) | 返回檔案路徑(不含檔名)'C:\\Users\\Administrator\\A\\AA' |
os.path.exists(filepath[name]) | 判斷是否存在檔案或目錄#True 如未授os.stat()檔案許可權返回Fasle(即使存在) |
os.path.expanduser(path) | 把path中包含的"~"和"~user"轉換成使用者目錄 |
os.path.expandvars(path) | 根據環境變數的值替換path中包含的"$name"和"${name}" |
os.path.getatime(path) | 返回最近訪問時間(浮點型秒數)無則拋異常#1559889034.6349573 |
os.path.getctime(path) | 路徑的建立時間;無則拋OSError#1559889034.6349573 |
os.path.getmtime(path) | 獲取檔案的修改時間#1559890195.4933546 |
os.path.getsize(path) | 返回檔案大小位元組如是目錄返回0,無則拋OSError |
os.path.isabs(path) | 判斷是否為絕對路徑#True |
os.path.isdir(path) | 檢測是否是資料夾#False |
os.path.isfile(path) | 判斷路徑是否為檔案#True |
os.path.islink(path) | 判斷路徑是否為連結#False |
os.path.ismount(path) | 判斷路徑是否為掛載點 |
os.path.join(path1[, path2[, ...]]) | 目錄檔名合成一個路徑os.path.join('C:\\','A\\','test.txt')#'C:\\A\\test.txt' |
os.path.lexists(path) | 路徑存在則返回True,路徑損壞也返回True#True |
os.path.normcase(path) | 規範化路徑名小寫和反斜槓 #'c:\\users\\administrator\\a\\aa\\test.txt'異常丟擲錯誤 |
os.path.realpath(path) | 返回規範路徑,消除路徑中遇到的任何符號連結(如果作業系統支援它們)。 |
os.path.relpath(path[, start]) | 從start開始計算相對路徑os.path.relpath(path,'C:\\Users\\Administrator') |
'A\\AA\\test.txt' | |
os.path.samefile(path1, path2) | 判斷目錄或檔案是否相同 |
os.path.sameopenfile(fp1, fp2) | 返回True如果檔案描述符fp1和fp2指向同一檔案 |
os.path.samestat(stat1, stat2) | 判斷stat tuple stat1和stat2是否指向同一個檔案 |
os.path.split(path) | 分割檔名與目錄 #('C:\\Users\\Administrator\\A\\AA', 'test.txt') |
os.path.splitdrive(path) | 回驅動器名和路徑 #('C:', '\\Users\\Administrator\\A\\AA\\test.txt') |
os.path.splitext(path) | 分離檔名和副檔名 #('C:\\Users\\Administrator\\A\\AA\\test', '.txt') |
os.path.supports_unicode_filenames | 設定是否支援unicode路徑名#True |
os.path.walk(path, visit, arg) | 遍歷path進入每個目錄都呼叫visit(arg, dirname, names),目錄名,所有檔名 |
相關文章
- Python入門(二十六):檔案模組(os模組與shutil模組)Python
- python常用標準庫(os系統模組、shutil檔案操作模組)Python
- Python_shutil模組Python
- python之shutil模組Python
- Python的shutil模組Python
- python3 shutil模組Python
- 前端模組化彙總前端
- [Python] shutil 模組(檔案操作)Python
- python shutil模組簡單介紹Python
- python os模組功能和方法總結Python
- Python的shutil zipfile tarfile模組學習Python
- Python學習【第十四篇】shutil模組Python
- Python3學習筆記(5)常用模組:time、datetime、random、os、sys、shutil、shelve、xml處理Python筆記randomXML
- Python基礎(九) 常用模組彙總Python
- Python標準庫04 檔案管理 (部分os包,shutil包)Python
- C++ list (tcy)C++
- os.path()模組
- python os模組Python
- Python OS 模組Python
- Python 內建模組:os模組Python
- Python標準庫分享之檔案管理 (部分os包,shutil包)Python
- 北醒鐳射雷達模組 資料彙總
- Apple Watch watch OS 3更新 九大新特性彙總APP
- iOS os.log 模組iOS
- 轉:os和sys模組
- python的os模組Python
- python_OS 模組Python
- Python中os模組Python
- Python 快速教程(標準庫04):檔案管理 (部分os包,shutil包)Python
- python–模組之os操作檔案模組Python
- pygame模組引數彙總(python遊戲程式設計)GAMPython遊戲程式設計
- 序列化模組,隨機數模組,os模組,sys模組,hashlib模組隨機
- Vagrant box 命令彙總彙總
- Python os.path() 模組Python
- Python os模組詳解Python
- [Python]OS模組應用Python
- #PYTHON# os以及os.path模組介紹Python
- Linux核心模組相關命令彙總及使用說明Linux