亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 第七章 輸入輸出 suzhe (轉(zhuǎn)).txt

?? LINUX下的安裝聲卡等操作和技巧介紹
?? TXT
字號:
作者:softrain
email: softrain@edu.21cn.com
日期:2001-7-21 9:58:19
第七章 輸入輸出 
有幾種辦法可以從程序輸出;數(shù)據(jù)可以用可讀的形式顯示,或保存到文件中以備日后使 
用。本章討論一些輸入輸出的辦法。 
7.1 輸出格式控制 
到現(xiàn)在為止我們已經(jīng)看到了兩種輸出值的方法:表達(dá)式語句和print語句。(第三種方法 
是使用文件對象的write()方法,標(biāo)準(zhǔn)輸出文件可以用sys.stdout引用。參見庫參考手冊 
)。 
我們常常需要控制輸出格式,而不僅僅是顯示空格分開的值。有兩種辦法控制輸出格式 
:一種辦法是自己進(jìn)行字符串處理,用字符串的片斷和合并操作可以產(chǎn)生任何可以想象 
的格式。標(biāo)準(zhǔn)模塊string包含了諸如把字符串填充到指定的列寬這樣的有用操作,后面 
會有提及。 
另一種辦法是使用%運(yùn)算符,此運(yùn)算符以一個(gè)字符串為左運(yùn)算元,它按C的sprintf()函數(shù) 
格式把右運(yùn)算元轉(zhuǎn)換為字符串,返回轉(zhuǎn)換結(jié)果。 
 問題是:如何把值轉(zhuǎn)換為字符串? 
幸運(yùn)的是,Python有一種辦法可以把任何值轉(zhuǎn)換為字符串:使用repr()函數(shù),或把值寫 
在兩個(gè)反向引號(``)之間。例如: 
>>> x = 10 * 3.14 
>>> y = 200*200 
>>> s = 'The value of x is ' + `x` + ', and y is ' + `y` + '...' 
>>> print s 
The value of x is 31.4, and y is 40000... 
>>> # 反向引號也適用于非數(shù)值型 
... p = [x, y] 
>>> ps = repr(p) 
>>> ps 
'[31.4, 40000]' 
>>> # 轉(zhuǎn)換字符串對字符串加字符串引號和反斜杠 
... hello = 'hello, world\n' 
>>> hellos = `hello` 
>>> print hellos 
'hello, world\012' 
>>> # 反向引號內(nèi)可以是一個(gè)序表 
... `x, y, ('spam', 'eggs')` 
"(31.4, 40000, ('spam', 'eggs'))" 
下面是兩種寫出平方、立方表的方法: 
>>> import string 
>>> for x in range(1, 11): 
...     print string.rjust(`x`, 2), string.rjust(`x*x`, 3), 
...     # 前一行的結(jié)尾逗號表示不換行 
...     print string.rjust(`x*x*x`, 4) 
... 
 1   1    1 
 2   4    8 
 3   9   27 
 4  16   64 
 5  25  125 
 6  36  216 
 7  49  343 
 8  64  512 
 9  81  729 
10 100 1000 
>>> for x in range(1,11): 
...     print'%2d %3d %4d' % (x, x*x, x*x*x) 
... 
 1   1    1 
 2   4    8 
 3   9   27 
 4  16   64 
 5  25  125 
 6  36  216 
 7  49  343 
 8  64  512 
 9  81  729 
10 100 1000 
注意print輸出的各項(xiàng)之間額外加了一個(gè)空格,這是print的規(guī)定。  
此例顯示了函數(shù)string.rjust()的用法,此函數(shù)可以把一個(gè)字符串放進(jìn)指定寬度右對齊 
,左邊用空格填充。類似函數(shù)還有string.ljust()和string.center()。這些函數(shù)不向外 
輸出,只是返回轉(zhuǎn)換后的字符串。如果輸入字符串太長也不會被截?cái)喽潜辉瓨臃祷亍?
這樣的處理可能會使你的列對齊失效,但這可能比截?cái)嘁靡恍財(cái)嗟慕Y(jié)果是我們看 
到一個(gè)錯(cuò)誤的值。(如果你確實(shí)需要截?cái)嗟脑捒偪梢栽偌右粚悠瑪啵鐂tring.ljust(x 
,n)[0:n])。 
 還有一個(gè)函數(shù)string.zfill(),可以在數(shù)值左邊填零。此函數(shù)可以處理帶有加減號的 
情況: 
>>> string.zfill('12', 5) 
'00012' 
>>> string.zfill('-3.14', 7) 
'-003.14' 
>>> string.zfill('3.14159265359', 5) 
'3.14159265359' 
%操作符的用法如下例: 
>>> import math 
>>> print 'The value of PI is approximately %5.3f.' % math.pi 
The value of PI is approximately 3.142. 
如果有多個(gè)值可以用一個(gè)序表給出,這時(shí)格式字符串中要有多個(gè)格式,如: 
>>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678} 
>>> for name, phone in table.items(): 
...     print'%-10s ==> %10d' % (name, phone) 
... 
Jack       ==>       4098 
Dcab       ==>    8637678 
Sjoerd     ==>       4127 
大多數(shù)格式與C用法相同,要求要輸出的值的類型符合格式的需要。但是,如果你沒有引 
發(fā)例外錯(cuò)誤的話也不會產(chǎn)生內(nèi)核堆列。Python的%s格式要寬得多:如果相應(yīng)的輸出項(xiàng)不 
是字符串對象,就先用str()內(nèi)置函數(shù)把它變成字符串。在格式指定中寬度指定為*號表 
示后面的輸出項(xiàng)中多出一個(gè)指定寬度的整數(shù)。C格式%n和%p未被支持。 
如果你有一個(gè)長格式串不想把它分開,可以在指定格式的地方指定名字,這樣就不需要 
按次序去把格式和名字對應(yīng)起來,這種格式為“%(變量名)格式”,例如: 
>>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678} 
>>> print 'Jack: %(Jack)d; Sjoerd: %(Sjoerd)d; Dcab: %(Dcab)d' % table 
Jack: 4098; Sjoerd: 4127; Dcab: 8637678 
這里輸出項(xiàng)總是一個(gè)字典,字典的各項(xiàng)值是要輸出的值,字典的鍵值是各值的名字。這 
種輸出格式經(jīng)常與內(nèi)置函數(shù)var()配合使用,var()返回包含所有局部變量的字典。 
7.2 讀寫文件 
  open()打開一個(gè)文件對象,經(jīng)常使用兩個(gè)參數(shù):“open(文件名,模式)”。例如: 
>>> f=open('/tmp/workfile', 'w') 
>>> print f 
<open file '/tmp/workfile', mode 'w' at 80a0960> 
第一自變量是一個(gè)包含了文件名的字符串,第二自變量是文件打開方式的字符串。模式 
‘r ’表示讀取,‘w’表示只寫(已有的同名文件被清除),‘a(chǎn)’表示打開文件在尾 
部添加, ‘r+’表示打開文件既可以讀也可以寫。打開方式參數(shù)可選,缺省為‘r’模 
式。 
在Windows和Macintosh中在模式中加入‘b’表示以二進(jìn)制格式打開文件,如‘rb’、‘ 
wb ’、‘r+b’。Windows對文本文件和二進(jìn)制文件有不同的處理,文本文件中的換行字 
符在讀寫時(shí)有變化。這種對文件數(shù)據(jù)的幕后的修改不影響ASCII文本文件,但是會破壞二 
進(jìn)制數(shù)據(jù)如JPEG 或“.EXE”文件的數(shù)據(jù)。讀寫這樣的文件一定要使用二進(jìn)制格式。(M 
acintosh中文本模式的精確描述依賴于使用的C庫)。 
7.2.1 文件對象的方法 
 本節(jié)后面的例子假設(shè)已經(jīng)建立了一個(gè)名為f的文件對象。 
為了讀取文件內(nèi)容,調(diào)用f.read(size),可以讀入一定字節(jié)數(shù)的數(shù)據(jù)返回為一個(gè)字符串 
。size 是一個(gè)可選數(shù)值參數(shù),省略size或size取負(fù)值時(shí)讀入整個(gè)文件并返回為一個(gè)字符 
串;如果文件比你的機(jī)器內(nèi)存大一倍,那是你的問題。指定了正的size的時(shí)候之多讀入 
并返回size字節(jié)。如果讀到了文件尾,f.read()返回一個(gè)空串("")。如: 
  
>>> f.read() 
'This is the entire file.\012' 
>>> f.read() 
'' 
  
f.readline()從文件中讀入一行,返回的字符串中將包括結(jié)尾的一個(gè)換行符(\n),如 
果文件的最后一行沒有換行符則由該行讀入的字符串也沒有結(jié)尾的換行符。這樣,由re 
adline() 返回的結(jié)果不會有歧義,讀入結(jié)果為空串時(shí)一定是到了文件尾,讀入一個(gè)'\n 
'時(shí)為空行。 
>>> f.readline() 
'This is the first line of the file.\012' 
>>> f.readline() 
'Second line of the file\012' 
>>> f.readline() 
'' 
f.readlines()反復(fù)調(diào)用f.readline(),返回一個(gè)包含文件所有行的列表。 
>>> f.readlines() 
['This is the first line of the file.\012', 'Second line of the file\012'] 
f.write(string)把string的內(nèi)容寫入到文件中,返回None。 
  
>>> f.write('This is a test\n') 
  
f.tell()返回文件對象的當(dāng)前讀寫為止,按從文件開始的字節(jié)數(shù)算。為了改變讀寫位置 
,使用“f.seek(位移,從哪里)”。讀寫位置按一個(gè)參考點(diǎn)加上位移來計(jì)算,參考點(diǎn)用 
“從那里”參數(shù)指定,取0時(shí)從文件頭開始算,取1時(shí)按當(dāng)前位置算,取2時(shí)從文件尾算。 
缺省值是0 ,從文件開始算。 
>>> f=open('/tmp/workfile', 'r+') 
>>> f.write('0123456789abcdef') 
>>> f.seek(5)     # 從文件頭前進(jìn)5個(gè)字節(jié),到達(dá)第6個(gè)字符 
>>> f.read(1) 
'5' 
>>> f.seek(-3, 2) # 轉(zhuǎn)到結(jié)尾前3個(gè)字符 
>>> f.read(1) 
'd' 
用外一個(gè)文件后調(diào)用f.close()關(guān)閉文件,釋放打開文件所占用的系統(tǒng)資源。文件關(guān)閉后 
再使用此文件對象就無效了。 
>>> f.close() 
>>> f.read() 
Traceback (innermost last): 
  File "<stdin>", line 1, in ? 
ValueError: I/O operation on closed file 
文件對象還有其它一些不太常用的方法,例如isatty()和truncate(),參見庫參考手冊 
?!?
7.2.2 pickle模塊 
字符串可以很容易地從文件讀入或向文件寫出。讀入數(shù)值要麻煩一些,因?yàn)閞ead()方法 
總是返回字符串,要把讀入的字符串傳給象string.atoi()這樣的函數(shù),把象‘123’這 
樣的字符串轉(zhuǎn)換為對應(yīng)的整數(shù)值123。但是,當(dāng)你想保存更復(fù)雜的數(shù)據(jù)類型如列表、字典 
或類實(shí)例時(shí),讀寫就要復(fù)雜得多。 
Python的設(shè)計(jì)使程序員可以不必反復(fù)編寫調(diào)試保存復(fù)雜數(shù)據(jù)類型的代碼,它提供了一個(gè) 
叫做pickle的標(biāo)準(zhǔn)模塊。這個(gè)令人驚異的模塊可以把幾乎任何Python對象轉(zhuǎn)換為字符串 
表示,這個(gè)過程叫做腌制,從對象的字符串表示恢復(fù)對象叫做恢復(fù)。在腌制和反腌制之 
間,對象的字符串表示可以保存在文件或數(shù)據(jù)中,甚至于通過網(wǎng)絡(luò)連接傳送到遠(yuǎn)程計(jì)算 
機(jī)上。 
 如果你有一個(gè)對象x,有一個(gè)可寫的文件對象f,最簡單的腌制對象的辦法是下面一行 
代碼: 
pickle.dump(x, f) 
為了恢復(fù)對象,如果剛才的文件已打開用于讀取,文件對象名仍為f,則: 
x = pickle.load(f) 
(腌制和恢復(fù)還有其它用法,可以腌制多個(gè)對象,可以不把數(shù)據(jù)寫入文件,詳見庫參考手 
冊)。 
pickle是保存Python對象并被其它程序或同一程序以后再運(yùn)行時(shí)調(diào)用的標(biāo)準(zhǔn)辦法,這種 
做法的專用術(shù)語叫做“持久對象”。因?yàn)閜ickle使用廣泛,許多Python擴(kuò)展模塊的作者 
都留意使新增加的數(shù)據(jù)類型如矩陣可以正確地腌制和恢復(fù)。 
 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区av| 香蕉加勒比综合久久| 国产成人无遮挡在线视频| 精品国产sm最大网站免费看| 免费观看日韩av| 精品国产乱码久久久久久久久| 男女激情视频一区| 2020国产精品自拍| 成人免费av网站| 一区二区三区国产精华| 欧美午夜片在线看| 日本美女一区二区| 久久精品综合网| 色欧美片视频在线观看在线视频| 亚洲午夜私人影院| 精品国产乱码91久久久久久网站| 国产乱子伦视频一区二区三区| 中文字幕制服丝袜一区二区三区 | √…a在线天堂一区| 91麻豆国产在线观看| 亚洲风情在线资源站| www精品美女久久久tv| 97久久人人超碰| 免费在线观看精品| 17c精品麻豆一区二区免费| 欧美日本在线看| 国产成人免费视频一区| 一区二区激情小说| 久久精品在这里| 欧美性极品少妇| 国产麻豆日韩欧美久久| 亚洲电影你懂得| 中文字幕欧美区| 欧美精品色综合| 91小视频在线| 国产精品综合一区二区三区| 亚洲一级片在线观看| 欧美国产精品专区| 欧美一区二区高清| 91黄色在线观看| 国产91露脸合集magnet| 视频一区二区三区入口| 国产精品久久久久毛片软件| 欧美一区二区二区| 91黄色免费看| 9人人澡人人爽人人精品| 精品无人区卡一卡二卡三乱码免费卡| 亚洲精品久久嫩草网站秘色| 欧美激情艳妇裸体舞| 精品少妇一区二区三区视频免付费| 日本精品视频一区二区| 成人毛片视频在线观看| 蜜臀久久99精品久久久久久9| 一区二区激情视频| 国产精品久久久久久久久搜平片| 日韩三级伦理片妻子的秘密按摩| 日本久久一区二区三区| 波多野结衣在线一区| 国产永久精品大片wwwapp| 五月天亚洲精品| 一区二区三区精品在线观看| 亚洲视频在线一区二区| 国产日韩欧美综合一区| 欧美岛国在线观看| 国产精品久久久久影院亚瑟| 久久精品男人的天堂| 精品日本一线二线三线不卡| 91精品国产黑色紧身裤美女| 欧美日韩亚洲综合在线 | 激情欧美一区二区| 青青草原综合久久大伊人精品优势| 国产成人在线视频免费播放| 日韩影视精彩在线| 午夜激情一区二区三区| 午夜一区二区三区在线观看| 亚洲综合久久久久| 亚洲国产一区视频| 五月婷婷欧美视频| 日本色综合中文字幕| 奇米色一区二区| 青青草原综合久久大伊人精品 | 欧美激情一区二区三区不卡| 国产午夜精品美女毛片视频| 久久婷婷国产综合国色天香| 日韩免费在线观看| 国产性做久久久久久| 日本一区免费视频| 亚洲欧美日韩系列| 亚洲在线免费播放| 日韩一区精品视频| 精品在线免费视频| 成人午夜碰碰视频| 91色porny蝌蚪| 欧美日韩在线综合| 日韩精品专区在线| 国产免费成人在线视频| 国产精品电影院| 亚洲v精品v日韩v欧美v专区| 毛片av一区二区| 成人av午夜电影| 欧美少妇性性性| 亚洲精品在线观看网站| 中文字幕在线不卡一区二区三区| 亚洲女爱视频在线| 免费精品视频最新在线| 国产精品一区免费在线观看| 91日韩一区二区三区| 666欧美在线视频| 久久久欧美精品sm网站| 一区二区中文字幕在线| 日韩二区在线观看| 成人免费精品视频| 欧美日韩国产高清一区二区| 2020日本不卡一区二区视频| 亚洲视频免费观看| 麻豆精品久久久| 99久久久久免费精品国产 | 国产精品一区二区在线观看网站| 97久久精品人人澡人人爽| 欧美精品第1页| 欧美精品一区二区三区高清aⅴ| 综合激情成人伊人| 久久黄色级2电影| 在线视频国内一区二区| 久久蜜臀精品av| 亚洲v日本v欧美v久久精品| 丁香婷婷综合网| 91精品国产综合久久精品| 国产精品久久一卡二卡| 蜜臀av一区二区在线观看| 色综合中文综合网| 亚洲日本一区二区三区| 久久电影网电视剧免费观看| 91玉足脚交白嫩脚丫在线播放| 日韩一区和二区| 亚洲美女偷拍久久| 国产乱色国产精品免费视频| 7777女厕盗摄久久久| 亚洲美女区一区| av毛片久久久久**hd| 久久久精品免费网站| 毛片av一区二区| 在线不卡免费av| 亚洲第一成年网| 色欧美88888久久久久久影院| 国产欧美一区二区在线| 蜜桃视频一区二区| 91麻豆精品国产91久久久资源速度| 中文字幕亚洲综合久久菠萝蜜| 国产裸体歌舞团一区二区| 日韩欧美一二区| 丝袜美腿高跟呻吟高潮一区| 欧美三级电影网站| 亚洲色图一区二区三区| thepron国产精品| 国产精品免费av| 风间由美一区二区av101| 久久久九九九九| 国产一区91精品张津瑜| 精品国产精品一区二区夜夜嗨| 午夜伊人狠狠久久| 欧美日韩国产小视频| 日韩中文欧美在线| 91 com成人网| 热久久免费视频| 精品国产一区二区三区久久影院| 秋霞国产午夜精品免费视频| 欧美一级欧美三级在线观看| 日韩av一区二区在线影视| 欧美日本乱大交xxxxx| 日韩精品免费专区| 日韩精品一区二区在线| 黄页视频在线91| 日本一区二区成人| 成人永久免费视频| 亚洲日本电影在线| 欧美影视一区在线| 奇米色777欧美一区二区| 欧美成人综合网站| 国产白丝精品91爽爽久久| 国产日本欧洲亚洲| 91在线视频18| 五月激情综合色| 日韩精品资源二区在线| 国产成人精品免费一区二区| 亚洲国产高清在线| 一本高清dvd不卡在线观看| 亚洲一区二区在线播放相泽| 欧美日韩高清一区二区| 精品一区二区三区蜜桃| 国产精品丝袜久久久久久app| www.爱久久.com| 亚洲电影你懂得| 久久精品视频免费| 在线观看日韩电影| 美女在线观看视频一区二区| 欧美国产视频在线| 欧日韩精品视频| 国内精品免费在线观看| 亚洲激情网站免费观看|