文件和輸入輸出

文件對象

  • 普通的磁盤文件
  • 類文件: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--

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 本章將介紹python的文件處理和相關(guān)輸入輸出能力。包括介紹文件對象(它的內(nèi)建函數(shù)、內(nèi)建方法和屬性)、標準文件、同...
    JaeGwen閱讀 723評論 0 0
  • 8-6. 計算Fibonacii數(shù)列,a1=1,a2=1...an=an-1+an-2 即前兩個數(shù)是1,從3個數(shù)開...
    passwd_閱讀 2,363評論 0 1
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,992評論 19 139
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,239評論 2 33
  • C/C++輸入輸出流總結(jié) 前兩天寫C++實習作業(yè),突然發(fā)現(xiàn)I/O是那么的陌生,打了好長時間的文件都沒有打開,今天終...
    LuckTime閱讀 1,753評論 0 6