国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

詳解 Python 與文件對象共事的實例

2020-02-16 10:13:40
字體:
來源:轉載
供稿:網友

詳解 Python 與文件對象共事的實例

Python 有一個內置函數,open,用來打開在磁盤上的文件。open 返回一個文件對象,它擁有一些方法和屬性,可以得到被打開文件的信息,以及對被打開文件進行操作。

>>> f = open("/music/_singles/kairo.mp3", "rb") (1) >>> f                      (2) <open file '/music/_singles/kairo.mp3', mode 'rb' at 010E3988> >>> f.mode                   (3) 'rb' >>> f.name                   (4) '/music/_singles/kairo.mp3' 

(1)  open 方法可以接收三個參數:文件名、模式和緩沖區參數。只有第一個參數 (文件名) 是必須的;其它兩個是可選的。如果沒有指定,文件以文本方式打開。這里我們以二進制方式打開文件進行讀取。(print open.__doc__ 會給出所有可能模式的很好的解釋。)
(2)  open 函數返回一個對象 (到現在為止,這一點應該不會使你感到吃驚)。一個文件對象有幾個有用的屬性。
(3)  文件對象的 mode 屬性告訴你文件以何種模式被打開。
(4)  文件對象的 name 屬性告訴你文件對象所打開的文件名。

1. 讀取文件

你打開文件之后,你要做的第一件事是從中讀取,正如下一個例子所展示的。

>>> f <open file '/music/_singles/kairo.mp3', mode 'rb' at 010E3988> >>> f.tell()       (1) 0 >>> f.seek(-128, 2)    (2) >>> f.tell()       (3) 7542909 >>> tagData = f.read(128) (4) - 99 -Dive Into Python http://diveintopython.org/ >>> tagData 'TAGKAIRO****THE BEST GOA     ***DJ MARY-JANE***       Rave Mix           2000http://mp3.com/DJMARYJANE   /037' >>> f.tell()       (5) 7543037 

(1)  一個文件對象維護它所打開文件的狀態。文件對象的 tell 方法告訴你在被打開文件中的當前位置。因為我們還沒有對這個文件做任何事,當前位置為 0,它是文件的起始處。
(2)  文件對象的 seek 方法在被打開文件中移動到另一個位置。第二個參數指出第一個參數是什么意思:0 表示移動到一個絕對位置 (從文件起始處算起),1 表示移到一個相對位置 (從當前位置算起),還有 2 表示相對于文件尾的位置。因為我們搜索的 MP3 標記保存在文件的末尾,我們使用 2 并且告訴文件對象從文件尾移動到 128 字節的位置。
(3)  tell 方法確認了當前位置已經移動了。
(4)  read 方法從被打開文件中讀取指定個數的字節,并且返回含有讀取數據的字符串。可選參數指定了讀取的最大字節數。如果沒有指定參數,read 將讀到文件末尾。(我們本可以在這里簡單地說 read() ,因為我們確切地知道在文件的何處,事實上,我們讀的是最后 128 個字節。) 讀出的數據賦給變量 tagData,并且當前的位置根據所讀的字節數作了修改。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陈巴尔虎旗| 九台市| 正阳县| 江北区| 高州市| 萨嘎县| 平南县| 开封县| 漯河市| 油尖旺区| 绵竹市| 扬州市| 玛纳斯县| 西丰县| 江川县| 山东| 罗甸县| 贵德县| 蒲城县| 乌鲁木齐县| 会泽县| 菏泽市| 宿迁市| 贵定县| 行唐县| 略阳县| 昔阳县| 阆中市| 安平县| 靖安县| 阳春市| 西畴县| 枣强县| 承德市| 伊川县| 大连市| 山阴县| 盐池县| 政和县| 迭部县| 涞水县|