file 物件使用 open 函式來建立,下表列出了 file 物件常用的函式:
序號方法及描述
1file.close()關閉檔案。關閉後檔案不能再進行讀寫操作。
2file.flush()重新整理檔案內部緩衝,直接把內部緩衝區的資料立刻寫入檔案, 而不是被動的等待輸出緩衝區寫入。
3file.fileno()返回乙個整型的檔案描述符(file descriptor fd 整型), 可以用在如os模組的read方法等一些底層操作上。
4file.isatty()如果檔案連線到乙個終端裝置返回 true,否則返回 false。
5file.next()返回檔案下一行。
6[file.read(size])從檔案讀取指定的位元組數,如果未給定或為負則讀取所有。
7[file.readline(size])讀取整行,包括 "\n" 字元。
8[file.readlines(sizehint])讀取所有行並返回列表,若給定sizeint>0,返回總和大約為sizeint位元組的行, 實際讀取值可能比sizeint較大, 因為需要填充緩衝區。
9[file.seek(offset, whence])設定檔案當前位置
10file.tell()返回檔案當前位置。
11[file.truncate(size])擷取檔案,擷取的位元組通過size指定,預設為當前檔案位置。
12file.write(str)將字串寫入檔案,返回的是寫入的字元長度。
13file.writelines(sequence)向檔案寫入乙個序列字串列表,如果需要換行則要自己加入每行的換行符。
os模組提供了非常豐富的方法用來處理檔案和目錄。常用的方法如下表所示:
序號方法及描述
1os.access(path, mode) 檢驗許可權模式
2os.chdir(path) 改變當前工作目錄
3os.chflags(path, flags) 設定路徑的標記為數字標記。
4os.chmod(path, mode) 更改許可權
5os.chown(path, uid, gid) 更改檔案所有者
6os.chroot(path) 改變當前程序的根目錄
7os.close(fd) 關閉檔案描述符 fd
8os.closerange(fd_low, fd_high) 關閉所有檔案描述符,從 fd_low (包含) 到 fd_high (不包含), 錯誤會忽略
9os.dup(fd) 複製檔案描述符 fd
10os.dup2(fd, fd2) 將乙個檔案描述符 fd 複製到另乙個 fd2
11os.fchdir(fd) 通過檔案描述符改變當前工作目錄
12os.fchmod(fd, mode) 改變乙個檔案的訪問許可權,該檔案由引數fd指定,引數mode是unix下的檔案訪問許可權。
13os.fchown(fd, uid, gid) 修改乙個檔案的所有權,這個函式修改乙個檔案的使用者id和使用者組id,該檔案由檔案描述符fd指定。
14os.fdatasync(fd) 強制將檔案寫入磁碟,該檔案由檔案描述符fd指定,但是不強制更新檔案的狀態資訊。
15[os.fdopen(fd, mode[, bufsize]]) 通過檔案描述符 fd 建立乙個檔案物件,並返回這個檔案物件
16os.fpathconf(fd, name) 返回乙個開啟的檔案的系統配置資訊。name為檢索的系統配置的值,它也許是乙個定義系統值的字串,這些名字在很多標準中指定(posix.1, unix 95, unix 98, 和其它)。
17os.fstat(fd) 返回檔案描述符fd的狀態,像stat()。
18os.fstatvfs(fd) 返回包含檔案描述符fd的檔案的檔案系統的資訊,像 statvfs()
19os.fsync(fd) 強制將檔案描述符為fd的檔案寫入硬碟。
20os.ftruncate(fd, length) 裁剪檔案描述符fd對應的檔案, 所以它最大不能超過檔案大小。
21os.getcwd() 返回當前工作目錄
22os.getcwdu() 返回乙個當前工作目錄的unicode物件
23os.isatty(fd) 如果檔案描述符fd是開啟的,同時與tty(-like)裝置相連,則返回true, 否則false。
24os.lchflags(path, flags) 設定路徑的標記為數字標記,類似 chflags(),但是沒有軟鏈結
25os.lchmod(path, mode) 修改連線檔案許可權
26os.lchown(path, uid, gid) 更改檔案所有者,類似 chown,但是不追蹤鏈結。
27os.link(src, dst) 建立硬鏈結,名為引數 dst,指向引數 src
28os.listdir(path) 返回path指定的資料夾包含的檔案或資料夾的名字的列表。
29os.lseek(fd, pos, how) 設定檔案描述符 fd當前位置為pos, how方式修改: seek_set 或者 0 設定從檔案開始的計算的pos; seek_cur或者 1 則從當前位置計算; os.seek_end或者2則從檔案尾部開始. 在unix,windows中有效
30os.lstat(path) 像stat(),但是沒有軟鏈結
31os.major(device) 從原始的裝置號中提取裝置major號碼 (使用stat中的st_dev或者st_rdev field)。
32os.makedev(major, minor) 以major和minor裝置號組成乙個原始裝置號
33[os.makedirs(path, mode]) 遞迴資料夾建立函式。像mkdir(), 但建立的所有intermediate-level資料夾需要包含子資料夾。
34os.minor(device) 從原始的裝置號中提取裝置minor號碼 (使用stat中的st_dev或者st_rdev field )。
35[os.mkdir(path, mode]) 以數字mode的mode建立乙個名為path的資料夾.預設的 mode 是 0777 (八進位制)。
36[os.mkfifo(path, mode]) 建立命名管道,mode 為數字,預設為 0666 (八進位制)
37[os.mknod(filename, mode=0600, device]) 建立乙個名為filename檔案系統節點(檔案,裝置特別檔案或者命名pipe)。
38[os.open(file, flags, mode]) 開啟乙個檔案,並且設定需要的開啟選項,mode引數是可選的
39os.openpty() 開啟乙個新的偽終端對。返回 pty 和 tty的檔案描述符。
40os.pathconf(path, name) 返回相關檔案的系統配置資訊。
41os.pipe() 建立乙個管道. 返回一對檔案描述符(r, w) 分別為讀和寫
42[os.popen(command, mode[, bufsize]]) 從乙個 command 開啟乙個管道
43os.read(fd, n) 從檔案描述符 fd 中讀取最多 n 個位元組,返回包含讀取位元組的字串,檔案描述符 fd對應檔案已達到結尾, 返回乙個空字串。
44os.readlink(path) 返回軟鏈結所指向的檔案
45os.remove(path) 刪除路徑為path的檔案。如果path 是乙個資料夾,將丟擲oserror; 檢視下面的rmdir()刪除乙個 directory。
46os.removedirs(path) 遞迴刪除目錄。
47os.rename(src, dst) 重新命名檔案或目錄,從 src 到 dst
48os.renames(old, new) 遞迴地對目錄進行更名,也可以對檔案進行更名。
49os.rmdir(path) 刪除path指定的空目錄,如果目錄非空,則丟擲乙個oserror異常。
50os.stat(path) 獲取path指定的路徑的資訊,功能等同於c api中的stat()系統呼叫。
51[os.stat_float_times(newvalue]) 決定stat_result是否以float物件顯示時間戳
52os.statvfs(path) 獲取指定路徑的檔案系統統計資訊
53os.symlink(src, dst) 建立乙個軟鏈結
54os.tcgetpgrp(fd) 返回與終端fd(乙個由os.open()返回的開啟的檔案描述符)關聯的程序組
55os.tcsetpgrp(fd, pg) 設定與終端fd(乙個由os.open()返回的開啟的檔案描述符)關聯的程序組為pg。
56[os.tempnam(dir[, prefix]]) 返回唯一的路徑名用於建立臨時檔案。
57os.tmpfile() 返回乙個開啟的模式為(w+b)的檔案物件 .這檔案物件沒有資料夾入口,沒有檔案描述符,將會自動刪除。
58os.tmpnam() 為建立乙個臨時檔案返回乙個唯一的路徑
59os.ttyname(fd) 返回乙個字串,它表示與檔案描述符fd 關聯的終端裝置。如果fd 沒有與終端裝置關聯,則引發乙個異常。
60os.unlink(path) 刪除檔案路徑
61os.utime(path, times) 返回指定的pat**件的訪問和修改的時間。
62[os.walk(top, topdown=true[, οnerrοr=none[, followlinks=false]]]) 輸出在資料夾中的檔名通過在樹中游走,向上或者向下。
63os.write(fd, str) 寫入字串到檔案描述符 fd中. 返回實際寫入的字串長度
Python3語法學習小記
1.可以使用斜槓 將一行的語句分為多行顯示,例如 z 100 20語句中包含,或 括號就不需要使用多行連線符。2.單引號 多引號都可以使用,但是要注意前後對應,不能混搭。三引號 or 可用來做多行注釋,也可用來表示跨多行段落。y home is in sy python中的變數不需要宣告,變數的賦值...
Python語法學習之檔案操作
python語法學習之檔案操作 一 知識點 對檔案的訪問方式一般有三種模式 讀模式 r 寫模式 w 或追加模式 a 另外兩種可混合使用的模式 二進位制模式 b 讀 寫模式 如 rb 讀取二進位制檔案模式 r 可讀可寫模式 寫檔案的流程 1 可寫方式開啟檔案 2 寫檔案操作 3 關閉檔案 讀檔案流程 ...
Python基礎語法學習
函式宣告 以def開始,不指名具體的返回型別,但是通常都會有返回值,即使為空。函式宣告後即可使用 def size a kilobyte is 1024 bytes true 在 python 裡面,變數從來不會顯式的指定型別。python 會在內部算出乙個變數的型別並進行跟蹤。只要你有乙個命名引數...