文件對象
- 普通的磁盤文件
- 類文件:ex.打開一個網(wǎng)頁URL
文件內(nèi)建函數(shù)
- open(file_name,access_mode='r',buffering=-1)
buffering 用于指示訪問文件采用的緩沖方式,0表示不緩沖,1表示緩沖
一行數(shù)據(jù),大于1表示使用給定值作為緩沖區(qū)大小,不提供或為負值代表使
用系統(tǒng)默認緩沖機制
- file() 與open()功能一致,可以替換,但建議使用open()
通用換行符支持UNS
行分隔符:(\r) | (\n) |(\r\n)
路徑分隔符:/---\---:---
文件內(nèi)建方法
- read() 讀取給定參數(shù)字節(jié)的數(shù)目,默認直至末尾
- readline() 讀取一行,包括行結(jié)束符
- readlines() 讀取所有(剩余)行然后把它們作為字符串列表返回
- write()
- writelines() 接受一個字符串列表作為參數(shù),行操作符不會自動加入,需要手動加入行結(jié)束符
- seek() 默認位置為0,代表開頭,1,代表當前位置,2,代表文件末尾
- close()
- flush() 把內(nèi)部緩沖區(qū)的內(nèi)容立刻寫入文件,暫時不會用(在open函數(shù)中有個參數(shù)buffering ,可以寫到緩沖區(qū))
- fileno()
- truncate() 將文件截取到當前文件指針位置或者給定size,以字節(jié)為單位
- tell() 返回文件位置指針的坐標
文件內(nèi)建屬性
- file.closed
- file.encoding
- file.mode
- file.name
- file.newlines 未讀取到行分隔符時為None,只有一種行分隔符時為一個字符串,當文件有多種類型的行結(jié)束符時,則為一個包含素有當前所遇到的行結(jié)束符的列表
標準文件???暫時不理解干什么用的
-pass-
命令行參數(shù)
- sys.argv 命令行參數(shù)列表
文件系統(tǒng)
表 9.5 os 模塊的文件/目錄訪問函數(shù)
--------------------------------------------
文件處理
mkfifo()/mknod()創(chuàng)建命名管道/創(chuàng)建文件系統(tǒng)節(jié)點
remove()/unlink() Delete file 刪除文件
rename()/renames()重命名文件
*stat() 返回文件信息
symlink() 創(chuàng)建符號鏈接
utime() 更新時間戳
tmpfile() 創(chuàng)建并打開('w+b')一個新的臨時文件
walk()生成一個目錄樹下的所有文件名
------------------------------------
目錄/文件夾
chdir()/fchdir()改變當前工作目錄/通過一個文件描述符改變當前工作目錄
chroot()改變當前進程的根目錄
listdir() 列出指定目錄的文件
getcwd()/getcwdu()返回當前工作目錄/功能相同, 但返回一個 Unicode 對象
mkdir()/makedirs() 創(chuàng)建目錄/創(chuàng)建多層目錄
rmdir()/removedirs() 刪除目錄/刪除多層目錄
--------------------------------------
訪問/權(quán)限
access() 檢驗權(quán)限模式
chmod() 改變權(quán)限模式
chown()/lchown() 改變 owner 和 group ID/功能相同, 但不會跟蹤鏈接
umask() 設(shè)置默認權(quán)限模式
-----------------------------------------
文件描述符操作
open() 底層的操作系統(tǒng) open (對于文件, 使用標準的內(nèi)建 open() 函數(shù))
read()/write() 根據(jù)文件描述符讀取/寫入數(shù)據(jù)
dup()/dup2() 復(fù)制文件描述符號/功能相同, 但是是復(fù)制到另一個文件描述符
----------------------------------------
設(shè)備號
makedev()從 major 和 minor 設(shè)備號創(chuàng)建一個原始設(shè)備號
major()/minor() 從原始設(shè)備號獲得 major/minor 設(shè)備號
表 9.6 os.path 模塊中的路徑名訪問函數(shù)
-----------------------------------------
分隔
basename() 去掉目錄路徑, 返回文件名
dirname() 去掉文件名, 返回目錄路徑
join() 將分離的各部分組合成一個路徑名
split() 返回 (dirname(), basename()) 元組
splitdrive() 返回 (drivename, pathname) 元組
splitext() 返回 (filename, extension) 元組
-----------------------------------------
信息
getatime() 返回最近訪問時間
getctime() 返回文件創(chuàng)建時間
getmtime() 返回最近文件修改時間
getsize() 返回文件大小(以字節(jié)為單位)
-----------------------------------------
查詢
exists() 指定路徑(文件或目錄)是否存在
isabs() 指定路徑是否為絕對路徑
isdir() 指定路徑是否存在且為一個目錄
isfile() 指定路徑是否存在且為一個文件
islink() 指定路徑是否存在且為一個符號鏈接
ismount() 指定路徑是否存在且為一個掛載點
samefile() 兩個路徑名是否指向同個文件
永久存儲模塊 ???不理解、等填坑
--pass--