麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 編程 > Python > 正文

Python學(xué)習(xí)筆記12

2019-11-06 06:15:19
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

Python的文件。

通過(guò)內(nèi)建函數(shù)open() 和file()打開(kāi)一個(gè)文件。這兩個(gè)方法是等價(jià)的,file()方法提供了工廠函數(shù)形式的打開(kāi)文件的方法。語(yǔ)法如下:

file_object= open(file_name, access_mode='r', buffering=-1)

 

文件模式      操作

 r      以讀方式打開(kāi)

rU 或Ua  以讀方式打開(kāi), 同時(shí)提供通用換行符支持 (PEP278)

 w      以寫(xiě)方式打開(kāi) (必要時(shí)清空)

 a      以追加模式打開(kāi) (從 EOF 開(kāi)始, 必要時(shí)創(chuàng)建新文件)

 r+      以讀寫(xiě)模式打開(kāi)

 w+      以讀寫(xiě)模式打開(kāi) (參見(jiàn) w) 

 a+      以讀寫(xiě)模式打開(kāi) (參見(jiàn) a) 

 rb      以二進(jìn)制讀模式打開(kāi)

 wb      以二進(jìn)制寫(xiě)模式打開(kāi) (參見(jiàn) w) 

 ab      以二進(jìn)制追加模式打開(kāi) (參見(jiàn) a) 

 rb+     以二進(jìn)制讀寫(xiě)模式打開(kāi) (參見(jiàn) r+) 

 wb+     以二進(jìn)制讀寫(xiě)模式打開(kāi) (參見(jiàn) w+) 

 ab+     以二進(jìn)制讀寫(xiě)模式打開(kāi) (參見(jiàn) a+ )

 

文件對(duì)象的內(nèi)建方法:

文件對(duì)象的內(nèi)建方法列表

 

文件對(duì)象的方法                 操作

file.close()            關(guān)閉文件                

file.fileno()            返回文件的描述符(filedescriptor ,FD, 整數(shù)值)

file.flush()           刷新文件的內(nèi)部緩沖區(qū)

file.isatty()           判斷 file 是否是一個(gè)類 tty 設(shè)備

file.next () 返回文件的下一行(類似于file.readline() ), 或在沒(méi)有其它行時(shí)

引發(fā) StopIteration 異常

file.read(size=-1)      從文件讀取 size 個(gè)字節(jié), 當(dāng)未給定 size 或給定負(fù)值的時(shí)候, 讀

取剩余的所有字節(jié), 然后作為字符串返回

file.readintob (buf, size) 從文件讀取 size 個(gè)字節(jié)到 buf 緩沖器(已不支持)

file.readline(size=-1)  從文件中讀取并返回一行(包括行結(jié)束符), 或返回最大 size

個(gè)字符

file.readlines(sizhint=0)    讀取文件的所有行并作為一個(gè)列表返回(包含所有的行結(jié)束

符);  如果給定sizhint 且大于 0 , 那么將返回總和大約為sizhint字節(jié)的行(大小由緩沖器容量的下一個(gè)值決定)( 比如說(shuō)緩沖器的大小只能為 4K 的倍數(shù),如果sizhint 為 15k,則最后返回的可能是 16k———譯者按)

file.xreadlines ()           用于迭代, 可以替換readlines() 的一個(gè)更高效的方法

file.seek(off,whence=0)  在文件中移動(dòng)文件指針, 從whence ( 0 代表文件其始, 1 代

表當(dāng)前位置, 2 代表文件末尾)偏移 off 字節(jié)

file.tell()                    返回當(dāng)前在文件中的位置

file.truncate(size=file.tell())   截取文件到最大 size 字節(jié), 默認(rèn)為當(dāng)前文件位置

file.write(str)                向文件寫(xiě)入字符串

file.writelines(seq)  向文件寫(xiě)入字符串序列 seq ; seq 應(yīng)該是一個(gè)返回字符串的

可迭代對(duì)象;

 

文件對(duì)象的屬性

 

文件對(duì)象的屬性      描述

file.closed        True 表示文件已經(jīng)被關(guān)閉, 否則為 False

file.encodinga   文件所使用的編碼 - 當(dāng)Unicode 字符串被寫(xiě)入數(shù)據(jù)時(shí), 它們將自動(dòng)使

用 file.encoding 轉(zhuǎn)換為字節(jié)字符串; 若file.encoding 為 None 時(shí)使

用系統(tǒng)默認(rèn)編碼

file.mode          文件打開(kāi)時(shí)使用的訪問(wèn)模式

file.name          文件名

file.newlines  未讀取到行分隔符時(shí)為 None , 只有一種行分隔符時(shí)為一個(gè)字符串, 當(dāng)

文件有多種類型的行結(jié)束符時(shí),則為一個(gè)包含所有當(dāng)前所遇到的行結(jié)束

符的列表

file.softspace  為 0 表示在輸出一數(shù)據(jù)后,要加上一個(gè)空格符,1 表示不加。這個(gè)屬性

 

 

sys模塊:

標(biāo)準(zhǔn)輸出文件,標(biāo)準(zhǔn)輸入文件,標(biāo)準(zhǔn)錯(cuò)誤文件。

可以通過(guò)sys模塊來(lái)訪問(wèn)這三個(gè)標(biāo)準(zhǔn)文件,分別是:sys.stdout,sys.stdin, sys.stderr.

PRint 語(yǔ)句一般是輸出到sys.stdout。

raw_input()是從sys.stdin獲取輸入。

命令行參數(shù):

python程序通過(guò)命令行執(zhí)行時(shí),可以輸入?yún)?shù)。在python程序中通過(guò)sys.argv屬性獲取這些參數(shù)。 sys.argv返回命令行組成的字符串序列,每個(gè)字符串以空格為分隔符。程序名稱為第一個(gè),在序列中下標(biāo)為0。后續(xù)參數(shù)以此類推。

 

os、os.path模塊

os模塊提供了操作系統(tǒng)級(jí)文件操作方法。比如創(chuàng)建目錄,修改文件屬性,刪除文件,列出文件列表。詳細(xì)如下:

函數(shù)                   描述

文件處理

mkfifo()/mknod()    創(chuàng)建命名管道/創(chuàng)建文件系統(tǒng)節(jié)點(diǎn)

remove()/unlink()     Delete file 刪除文件

rename()/renames()     重命名文件

*statc ()              返回文件信息 

symlink()       創(chuàng)建符號(hào)鏈接

utime()           更新時(shí)間戳

tmpfile()       創(chuàng)建并打開(kāi)('w+b')一個(gè)新的臨時(shí)文件

walk()           生成一個(gè)目錄樹(shù)下的所有文件名

 

目錄/文件夾

chdir()/fchdir()a   改變當(dāng)前工作目錄/通過(guò)一個(gè)文件描述符改變當(dāng)前工作目錄

chroot()        改變當(dāng)前進(jìn)程的根目錄

listdir()         列出指定目錄的文件

getcwd()/getcwdu()  返回當(dāng)前工作目錄/功能相同, 但返回一個(gè)Unicode 對(duì)象

mkdir()/makedirs()創(chuàng)建目錄/創(chuàng)建多層目錄

rmdir()/removedirs()  刪除目錄/刪除多層目錄

 

訪問(wèn)/權(quán)限

access()            檢驗(yàn)權(quán)限模式

chmod()           改變權(quán)限模式

chown()/lchown()a     改變 owner和 group ID/功能相同, 但不會(huì)跟蹤鏈接

umask()         設(shè)置默認(rèn)權(quán)限模式

 

文件描述符操作

open()              底層的操作系統(tǒng) open(對(duì)于文件, 使用標(biāo)準(zhǔn)的內(nèi)建open() 函數(shù)) 

read()/write()   根據(jù)文件描述符讀取/寫(xiě)入數(shù)據(jù)

dup()/dup2()      復(fù)制文件描述符號(hào)/功能相同, 但是是復(fù)制到另一個(gè)文件描述符

設(shè)備號(hào)

makedev()   從 major 和 minor設(shè)備號(hào)創(chuàng)建一個(gè)原始設(shè)備號(hào)

major()   /minor()   從原始設(shè)備號(hào)獲得 major/minor 設(shè)備號(hào)

 

os.path模塊提供了對(duì)文件路徑的常用操作。

函數(shù)               描述

分隔

basename()      去掉目錄路徑, 返回文件名

dirname()      去掉文件名, 返回目錄路徑

join()        將分離的各部分組合成一個(gè)路徑名

split()       返回(dirname(), basename()) 元組

splitdrive()  返回 (drivename, pathname) 元組

splitext()      返回(filename, extension) 元組

信息

getatime()      返回最近訪問(wèn)時(shí)間

getctime()      返回文件創(chuàng)建時(shí)間

getmtime()      返回最近文件修改時(shí)間

getsize()     返回文件大小(以字節(jié)為單位)

查詢

exists()     指定路徑(文件或目錄)是否存在

isabs()   指定路徑是否為絕對(duì)路徑

isdir()   指定路徑是否存在且為一個(gè)目錄

isfile()   指定路徑是否存在且為一個(gè)文件

islink()   指定路徑是否存在且為一個(gè)符號(hào)鏈接

ismount()    指定路徑是否存在且為一個(gè)掛載點(diǎn)

samefile()    兩個(gè)路徑名是否指向同個(gè)文件

 

Python中數(shù)據(jù)的永久存儲(chǔ)

涉及模塊,marshal, pickle/cpickle, shelve, DBM風(fēng)格模塊

marshal:可以將簡(jiǎn)單對(duì)象序列化,如數(shù)字,序列,映射和代碼對(duì)象。

pickle:除簡(jiǎn)單對(duì)象外,還可以處理遞歸對(duì)象,多次引用的對(duì)象以及用戶定義對(duì)象。

dbm類模塊:只能處理字符串的序列化。

shelve:可以將python對(duì)象和字符串。shelve模塊使用 anydbm 模塊尋找

合適的 DBM 模塊, 然后使用cPickle 來(lái)完成對(duì)儲(chǔ)存轉(zhuǎn)換過(guò)程. shelve 模塊允許對(duì)數(shù)據(jù)庫(kù)文件進(jìn)行并發(fā)的讀訪問(wèn), 但不允許共享讀/寫(xiě)訪問(wèn).

 

問(wèn)題1:shevle模塊是否需要同時(shí)安裝pickle和dbm模塊?

 

文件的其他相關(guān)模塊:

模塊        內(nèi)容

base64     提供二進(jìn)制字符串和文本字符串間的編碼/解碼操作

binascii     提供二進(jìn)制和 ASCII編碼的二進(jìn)制字符串間的編碼/解碼操作

bz2         訪問(wèn) BZ2 格式的壓縮文件

csv        訪問(wèn) csv 文件(逗號(hào)分隔文件)

filecmp       用于比較目錄和文件

fileinput  提供多個(gè)文本文件的行迭代器

getopt/optparse   提供了命令行參數(shù)的解析/處理

glob/fnmatch  提供 Unix 樣式的通配符匹配的功能

gzip/zlib  讀寫(xiě) GNU zip( gzip) 文件(壓縮需要 zlib 模塊)

shutil       提供高級(jí)文件訪問(wèn)功能

c/StringIO  對(duì)字符串對(duì)象提供類文件接口

tarfile       讀寫(xiě) TAR 歸檔文件, 支持壓縮文件

tempfile    創(chuàng)建一個(gè)臨時(shí)文件(名)

uu          格式的編碼和解碼

zipfile    用于讀取 ZIP 歸檔文件的工具

 

 

 


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 激情视频免费看 | 精国产品一区二区三区四季综 | 欧美性生活久久 | 极品国产91在线网站 | av在线等| 久久久一区二区精品 | 日韩午夜片 | 日韩视频在线观看免费 | 在线91视频| 欧美性生视频 | 欧美一级黄色片在线观看 | 九九热免费观看 | 国产日本在线 | 免费小毛片 | 国产精品99久久久久久大便 | 黄色大片在线免费看 | 少妇一级淫片高潮流水电影 | 久久精品视频16 | 精品一区二区三区中文字幕 | 成人午夜免费看 | 午夜精品小视频 | 一级黄片毛片免费看 | 精品国产一区二区三区久久久蜜月 | 欧美视频一区二区三区四区 | 精品一区二区久久久 | 91看片免费版 | 久草干 | 在线影院av | 国产精品视频一区二区三区四 | 成年免费视频黄网站在线观看 | 成人情欲视频在线看免费 | 91成人免费网站 | 天堂成人一区二区三区 | 黄色网址在线播放 | 国产91精品久久久久久久 | 亚洲午夜天堂吃瓜在线 | 狠狠干夜夜操 | 免费视频www在线观看 | 奶子吧naiziba.cc免费午夜片在线观看 | 成品片a免人视频 | 天天曰夜夜操 |