python3 語法學習 檔案操作及os方法

2021-10-10 03:14:11 字數 4674 閱讀 8099

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 會在內部算出乙個變數的型別並進行跟蹤。只要你有乙個命名引數...