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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 7.html

?? 一個python入門書
?? HTML
字號:
<HTML><!-- Mirrored from www.math.pku.edu.cn/teachers/lidf/docs/Python/7.html by HTTrack Website Copier/3.x [XR&CO'2005], Fri, 08 Jul 2005 11:49:14 GMT --><HEAD><TITLE>第七章 輸入輸出</TITLE></HEAD><BODY><H1>第七章 輸入輸出</H1><P>有幾種辦法可以從程序輸出;數據可以用可讀的形式顯示,或保存到文件中以備日后使用。本章討論一些輸入輸出的辦法。</P><H2>7.1 輸出格式控制</H2><P>到現在為止我們已經看到了兩種輸出值的方法:表達式語句和print語句。(第三種方法是使用文件對象的write()方法,標準輸出文件可以用sys.stdout引用。參見庫參考手冊)。</P><P>我們常常需要控制輸出格式,而不僅僅是顯示空格分開的值。有兩種辦法控制輸出格式:一種辦法是自己進行字符串處理,用字符串的片斷和合并操作可以產生任何可以想象的格式。標準模塊string包含了諸如把字符串填充到指定的列寬這樣的有用操作,后面會有提及。</P><P>另一種辦法是使用%運算符,此運算符以一個字符串為左運算元,它按C的sprintf()函數格式把右運算元轉換為字符串,返回轉換結果。</P><P> 問題是:如何把值轉換為字符串?<P>幸運的是,Python有一種辦法可以把任何值轉換為字符串:使用repr()函數,或把值寫在兩個反向引號(``)之間。例如:</P><PRE>&gt;&gt;&gt; x = 10 * 3.14&gt;&gt;&gt; y = 200*200&gt;&gt;&gt; s = 'The value of x is ' + `x` + ', and y is ' + `y` + '...'&gt;&gt;&gt; print sThe value of x is 31.4, and y is 40000...&gt;&gt;&gt; # 反向引號也適用于非數值型... p = [x, y]&gt;&gt;&gt; ps = repr(p)&gt;&gt;&gt; ps'[31.4, 40000]'&gt;&gt;&gt; # 轉換字符串對字符串加字符串引號和反斜杠... hello = 'hello, world\n'&gt;&gt;&gt; hellos = `hello`&gt;&gt;&gt; print hellos'hello, world\012'&gt;&gt;&gt; # 反向引號內可以是一個序表... `x, y, ('spam', 'eggs')`"(31.4, 40000, ('spam', 'eggs'))"</PRE><P>下面是兩種寫出平方、立方表的方法:</P><PRE>&gt;&gt;&gt; import string&gt;&gt;&gt; for x in range(1, 11):...     print string.rjust(`x`, 2), string.rjust(`x*x`, 3),...     # 前一行的結尾逗號表示不換行...     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  72910 100 1000&gt;&gt;&gt; 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  72910 100 1000</PRE><P>注意print輸出的各項之間額外加了一個空格,這是print的規定。 <P>此例顯示了函數string.rjust()的用法,此函數可以把一個字符串放進指定寬度右對齊,左邊用空格填充。類似函數還有string.ljust()和string.center()。這些函數不向外輸出,只是返回轉換后的字符串。如果輸入字符串太長也不會被截斷而是被原樣返回。這樣的處理可能會使你的列對齊失效,但這可能比截斷要好一些,截斷的結果是我們看到一個錯誤的值。(如果你確實需要截斷的話總可以再加一層片斷,如string.ljust(x,n)[0:n])。</P><P> 還有一個函數string.zfill(),可以在數值左邊填零。此函數可以處理帶有加減號的情況:<PRE>&gt;&gt;&gt; string.zfill('12', 5)'00012'&gt;&gt;&gt; string.zfill('-3.14', 7)'-003.14'&gt;&gt;&gt; string.zfill('3.14159265359', 5)'3.14159265359'</PRE><P>%操作符的用法如下例:</P><PRE>&gt;&gt;&gt; import math&gt;&gt;&gt; print 'The value of PI is approximately %5.3f.' % math.piThe value of PI is approximately 3.142.</PRE><P>如果有多個值可以用一個序表給出,這時格式字符串中要有多個格式,如:</P><PRE>&gt;&gt;&gt; table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}&gt;&gt;&gt; for name, phone in table.items():...     print'%-10s ==&gt; %10d' % (name, phone)... Jack       ==&gt;       4098Dcab       ==&gt;    8637678Sjoerd     ==&gt;       4127</PRE><P>大多數格式與C用法相同,要求要輸出的值的類型符合格式的需要。但是,如果你沒有引發例外錯誤的話也不會產生內核堆列。Python的%s格式要寬得多:如果相應的輸出項不是字符串對象,就先用str()內置函數把它變成字符串。在格式指定中寬度指定為*號表示后面的輸出項中多出一個指定寬度的整數。C格式%n和%p未被支持。</P><P>如果你有一個長格式串不想把它分開,可以在指定格式的地方指定名字,這樣就不需要按次序去把格式和名字對應起來,這種格式為“%(變量名)格式”,例如:</P><PRE>&gt;&gt;&gt; table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}&gt;&gt;&gt; print 'Jack: %(Jack)d; Sjoerd: %(Sjoerd)d; Dcab: %(Dcab)d' % tableJack: 4098; Sjoerd: 4127; Dcab: 8637678</PRE><P>這里輸出項總是一個字典,字典的各項值是要輸出的值,字典的鍵值是各值的名字。這種輸出格式經常與內置函數var()配合使用,var()返回包含所有局部變量的字典。</P><H2>7.2 讀寫文件</H2><P> open()打開一個文件對象,經常使用兩個參數:“open(文件名,模式)”。例如:<PRE>&gt;&gt;&gt; f=open('/tmp/workfile', 'w')&gt;&gt;&gt; print f&lt;open file '/tmp/workfile', mode 'w' at 80a0960&gt;</PRE><P>第一自變量是一個包含了文件名的字符串,第二自變量是文件打開方式的字符串。模式‘r’表示讀取,‘w’表示只寫(已有的同名文件被清除),‘a’表示打開文件在尾部添加,‘r+’表示打開文件既可以讀也可以寫。打開方式參數可選,缺省為‘r’模式。</P><P>在Windows和Macintosh中在模式中加入‘b’表示以二進制格式打開文件,如‘rb’、‘wb’、‘r+b’。Windows對文本文件和二進制文件有不同的處理,文本文件中的換行字符在讀寫時有變化。這種對文件數據的幕后的修改不影響ASCII文本文件,但是會破壞二進制數據如JPEG或“.EXE”文件的數據。讀寫這樣的文件一定要使用二進制格式。(Macintosh中文本模式的精確描述依賴于使用的C庫)。</P><H3>7.2.1 文件對象的方法</H3><P> 本節后面的例子假設已經建立了一個名為f的文件對象。<P>為了讀取文件內容,調用f.read(size),可以讀入一定字節數的數據返回為一個字符串。size是一個可選數值參數,省略size或size取負值時讀入整個文件并返回為一個字符串;如果文件比你的機器內存大一倍,那是你的問題。指定了正的size的時候之多讀入并返回size字節。如果讀到了文件尾,f.read()返回一個空串("")。如:</P><PRE> &gt;&gt;&gt; f.read()'This is the entire file.\012'&gt;&gt;&gt; f.read()'' </PRE><P>f.readline()從文件中讀入一行,返回的字符串中將包括結尾的一個換行符(\n),如果文件的最后一行沒有換行符則由該行讀入的字符串也沒有結尾的換行符。這樣,由readline()返回的結果不會有歧義,讀入結果為空串時一定是到了文件尾,讀入一個'\n'時為空行。</P><PRE>&gt;&gt;&gt; f.readline()'This is the first line of the file.\012'&gt;&gt;&gt; f.readline()'Second line of the file\012'&gt;&gt;&gt; f.readline()''</PRE><P>f.readlines()反復調用f.readline(),返回一個包含文件所有行的列表。</P><PRE>&gt;&gt;&gt; f.readlines()['This is the first line of the file.\012', 'Second line of the file\012']</PRE><PRE>f.write(string)把string的內容寫入到文件中,返回None。 &gt;&gt;&gt; f.write('This is a test\n') </PRE><P>f.tell()返回文件對象的當前讀寫為止,按從文件開始的字節數算。為了改變讀寫位置,使用“f.seek(位移,從哪里)”。讀寫位置按一個參考點加上位移來計算,參考點用“從那里”參數指定,取0時從文件頭開始算,取1時按當前位置算,取2時從文件尾算。缺省值是0,從文件開始算。</P><PRE>&gt;&gt;&gt; f=open('/tmp/workfile', 'r+')&gt;&gt;&gt; f.write('0123456789abcdef')&gt;&gt;&gt; f.seek(5)     # 從文件頭前進5個字節,到達第6個字符&gt;&gt;&gt; f.read(1)        '5'&gt;&gt;&gt; f.seek(-3, 2) # 轉到結尾前3個字符&gt;&gt;&gt; f.read(1)'d'</PRE><P>用外一個文件后調用f.close()關閉文件,釋放打開文件所占用的系統資源。文件關閉后再使用此文件對象就無效了。</P><PRE>&gt;&gt;&gt; f.close()&gt;&gt;&gt; f.read()Traceback (innermost last):  File "&lt;stdin&gt;", line 1, in ?ValueError: I/O operation on closed file</PRE><P>文件對象還有其它一些不太常用的方法,例如isatty()和truncate(),參見庫參考手冊。 <H3>7.2.2 pickle模塊</H3><P>字符串可以很容易地從文件讀入或向文件寫出。讀入數值要麻煩一些,因為read()方法總是返回字符串,要把讀入的字符串傳給象string.atoi()這樣的函數,把象‘123’這樣的字符串轉換為對應的整數值123。但是,當你想保存更復雜的數據類型如列表、字典或類實例時,讀寫就要復雜得多。</P><P>Python的設計使程序員可以不必反復編寫調試保存復雜數據類型的代碼,它提供了一個叫做pickle的標準模塊。這個令人驚異的模塊可以把幾乎任何Python對象轉換為字符串表示,這個過程叫做腌制,從對象的字符串表示恢復對象叫做恢復。在腌制和反腌制之間,對象的字符串表示可以保存在文件或數據中,甚至于通過網絡連接傳送到遠程計算機上。</P><P> 如果你有一個對象x,有一個可寫的文件對象f,最簡單的腌制對象的辦法是下面一行代碼:<PRE>pickle.dump(x, f)</PRE><P>為了恢復對象,如果剛才的文件已打開用于讀取,文件對象名仍為f,則:</P><PRE>x = pickle.load(f)</PRE><P>(腌制和恢復還有其它用法,可以腌制多個對象,可以不把數據寫入文件,詳見庫參考手冊)。 </P><P>pickle是保存Python對象并被其它程序或同一程序以后再運行時調用的標準辦法,這種做法的專用術語叫做“持久對象”。因為pickle使用廣泛,許多Python擴展模塊的作者都留意使新增加的數據類型如矩陣可以正確地腌制和恢復。</P></BODY><!-- Mirrored from www.math.pku.edu.cn/teachers/lidf/docs/Python/7.html by HTTrack Website Copier/3.x [XR&CO'2005], Fri, 08 Jul 2005 11:49:14 GMT --></HTML>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美人伦禁忌dvd放荡欲情| 日韩福利电影在线观看| 日韩美女视频19| 久久久亚洲精品石原莉奈| 欧美日韩在线播放三区| 日韩一区二区三区视频| 日韩亚洲国产中文字幕欧美| 国产调教视频一区| 亚洲欧美偷拍卡通变态| 亚洲成人先锋电影| 国产精品乡下勾搭老头1| 欧美日韩视频在线第一区 | 欧美成人猛片aaaaaaa| 国产日本一区二区| 日韩理论电影院| 蜜臀久久久久久久| 色88888久久久久久影院按摩| 日韩欧美在线网站| 亚洲欧洲日韩在线| 国产精品久久久久久久久晋中 | 久久色在线观看| 蜜臀va亚洲va欧美va天堂| 色综合咪咪久久| 中文字幕一区二区视频| 亚洲国产精品精华液网站| 国产99精品视频| 欧美日韩不卡一区| 一区二区理论电影在线观看| 成人av网站免费观看| 久久综合色天天久久综合图片| 欧美亚洲国产一区二区三区va| 亚洲卡通动漫在线| 91国产丝袜在线播放| 中文字幕不卡的av| 精品一区二区免费在线观看| 成人影视亚洲图片在线| 日韩欧美国产三级电影视频| 视频一区欧美精品| 欧美一区二区黄色| 久久国产福利国产秒拍| 69成人精品免费视频| 免播放器亚洲一区| 国产精品美女一区二区三区| 色哟哟亚洲精品| 中文字幕亚洲一区二区va在线| 日本不卡高清视频| 欧美成人激情免费网| 国产一区二区视频在线播放| 欧美精品一区视频| 国产乱码精品一区二区三区av| 国产欧美一区二区三区鸳鸯浴| 久久精品亚洲国产奇米99| 精品一区二区三区欧美| 日韩你懂的在线观看| 国精产品一区一区三区mba桃花| 欧美大片在线观看一区| 五月综合激情婷婷六月色窝| 久久一留热品黄| 欧美老肥妇做.爰bbww| 成人av中文字幕| 黄色小说综合网站| 午夜一区二区三区在线观看| 国产精品美女久久久久久| 精品少妇一区二区三区| 午夜精品在线看| 日韩一区在线免费观看| 中文字幕不卡的av| 久久蜜桃av一区精品变态类天堂| 777欧美精品| 色综合色狠狠综合色| 成人av在线资源网| 国产成人精品www牛牛影视| 青草国产精品久久久久久| 亚洲天天做日日做天天谢日日欢 | 欧美裸体一区二区三区| 国产精品一区二区免费不卡| 一区二区三区精品久久久| 欧美久久久久中文字幕| av高清久久久| 精品在线一区二区| 亚洲一区二区欧美| 日本一区二区三区四区| 91精品国产综合久久精品麻豆| 欧美疯狂做受xxxx富婆| 337p亚洲精品色噜噜噜| 欧美不卡一二三| 一色屋精品亚洲香蕉网站| 欧美一级国产精品| 理论片日本一区| 亚洲成人精品一区二区| 国产欧美日韩视频在线观看| 欧美成人精品二区三区99精品| 色国产综合视频| 99久精品国产| eeuss影院一区二区三区| 国产电影一区二区三区| 国产在线播精品第三| 美腿丝袜亚洲色图| 午夜av电影一区| 国内精品伊人久久久久影院对白| 免费看日韩精品| 精品写真视频在线观看| 国产精品123区| 99精品一区二区| 欧美视频第二页| 精品久久久网站| 国产精品白丝在线| 亚洲成人一区在线| 久久成人久久鬼色| 99re66热这里只有精品3直播| 色88888久久久久久影院野外| 欧美一级一级性生活免费录像| 国产日韩精品一区二区三区| 亚洲电影第三页| 激情欧美日韩一区二区| 色噜噜狠狠色综合中国| 欧美在线|欧美| 国产精品高清亚洲| 免费不卡在线视频| 成人自拍视频在线观看| 欧美福利电影网| 国产精品视频你懂的| 一区二区三区精品久久久| 亚洲精品久久久久久国产精华液| 国产一区欧美二区| 欧美一级高清大全免费观看| 亚洲 欧美综合在线网络| 色婷婷综合久久久中文一区二区| 久久只精品国产| 国产精品123区| 日韩欧美成人一区二区| 亚洲与欧洲av电影| 亚洲国产精品久久久久婷婷884 | 人妖欧美一区二区| 欧美日韩一区二区三区免费看| 国产精品视频观看| 岛国av在线一区| 国产欧美日韩激情| 成人一区二区三区视频在线观看 | 一区二区三区四区国产精品| 一本色道久久综合亚洲aⅴ蜜桃| 国产精品毛片久久久久久久| 成人一级片网址| 久久久久久久综合狠狠综合| 国内不卡的二区三区中文字幕| 精品国一区二区三区| 久久99精品久久久久婷婷| 欧美精品一区男女天堂| 国产美女av一区二区三区| 久久综合九色综合97婷婷| 狠狠狠色丁香婷婷综合久久五月| 精品国产一区二区三区久久久蜜月| 国产精品一线二线三线精华| 欧美日韩色一区| 日韩精品欧美精品| 国产精品网站在线播放| 56国语精品自产拍在线观看| 成人午夜电影久久影院| 视频一区视频二区在线观看| 国产日韩欧美麻豆| 在线不卡中文字幕| 国产成人99久久亚洲综合精品| 亚洲一区二区三区不卡国产欧美| 久久久精品综合| 制服丝袜日韩国产| 欧美日韩精品一区二区天天拍小说| 午夜视频久久久久久| 一区二区三区波多野结衣在线观看| 欧美va在线播放| 91精品午夜视频| 欧美女孩性生活视频| 在线观看亚洲精品| 99久久精品免费看国产免费软件| 久久国产精品99精品国产| 天堂久久一区二区三区| 亚洲天堂2014| 亚洲色图制服丝袜| 亚洲国产成人午夜在线一区| 精品久久久久久久久久久久久久久 | 亚洲成人一二三| 国产精品美女www爽爽爽| 日韩一卡二卡三卡| 欧美日韩精品一区二区天天拍小说| 成人av小说网| 大尺度一区二区| 国产一区视频网站| 精品一区二区在线免费观看| 亚洲欧美日韩一区二区| 最新国产の精品合集bt伙计| 欧美国产精品久久| 亚洲国产成人午夜在线一区| 国产精品热久久久久夜色精品三区| 久久青草国产手机看片福利盒子| 欧美精品一区二区三区在线| 久久先锋影音av鲁色资源| 久久综合久久综合久久综合| 久久综合精品国产一区二区三区| 91精品国产入口| 久久久久久电影| 国产精品人人做人人爽人人添|