?1
Python學(xué)習(xí)筆記(二)
?2
輸入輸出部分。
?3
1
.????函數(shù)?str()?用于將值轉(zhuǎn)化為適于人閱讀的形式,而?repr()?轉(zhuǎn)化為供解釋器讀取的形式(如果沒有等價(jià)的語法,則會(huì)發(fā)生?SyntaxError?異常)
?4
2
.????zfill()?它用于向數(shù)值的字符串表達(dá)左側(cè)填充0。
?5
3
.????table?
=
?{
'
Sjoerd
'
:?
4127
,?
'
Jack
'
:?
4098
,?
'
Dcab
'
:?
9678
}
?6
for
?k,v?
in
?table.items():
?7
print
?
'
%-10s?==>?%10d
'
?
%
?(k,?v)
?8
4
.????table?
=
?{
'
Sjoerd
'
:?
4127
,?
'
Jack
'
:?
4098
,?
'
Dcab
'
:?
8637678
}
?9
print
?
'
Jack:?%(Jack)d;?Sjoerd:?%(Sjoerd)d;?Dcab:?%(Dcab)d
'
?
%
?table
10
5
.????open()?返回一個(gè)文件,通常的用法需要兩個(gè)參數(shù):?
"
open(filename,?mode)
"
。
11
6
.????要讀取文件內(nèi)容,需要調(diào)用?f.read(size),該方法讀取若干數(shù)量的數(shù)據(jù)并以字符串形式返回其內(nèi)容,字符串長(zhǎng)度為數(shù)值size?所指定的大小。如果沒有指定?size或者指定為負(fù)數(shù),就會(huì)讀取并返回整個(gè)文件。當(dāng)文件大小為當(dāng)前機(jī)器內(nèi)存兩倍時(shí),就會(huì)產(chǎn)生問題。正常情況下,會(huì)盡可能按比較大的size?讀取和返回?cái)?shù)據(jù)。如果到了文件末尾,f.read()會(huì)返回一個(gè)空字符串(
""
)。
12
7
.????f.readline()從文件中讀取單獨(dú)一行,字符串結(jié)尾會(huì)自動(dòng)加上一個(gè)換行符,只有當(dāng)文件最后一行沒有以換行符結(jié)尾時(shí),這一操作才會(huì)被忽略。這樣返回值就不會(huì)有什么混淆不清,如果如果?f.readline()返回一個(gè)空字符串,那就表示到達(dá)了文件末尾,如果是一個(gè)空行,就會(huì)描述為
'
\n′?,一個(gè)只包含換行符的字符串。
13
8
.????f.readlines()返回一個(gè)列表,其中包含了文件中所有的數(shù)據(jù)行。如果給定了sizehint參數(shù),就會(huì)讀入多于一行的比特?cái)?shù),從中返回多行文本。這個(gè)功能通常用于高效讀取大型行文件,避免了將整個(gè)文件讀入內(nèi)存。這種操作只返回完整的行。
14
9
.????f.write(string)?將?string?的內(nèi)容寫入文件,返回?None?。如果需要寫入字符串以外的數(shù)據(jù),就要先把這些數(shù)據(jù)轉(zhuǎn)換為字符串。
15
10
.????f.tell()返回一個(gè)整數(shù),代表文件對(duì)象在文件中的指針位置,該數(shù)值計(jì)量了自文件開頭到指針處的比特?cái)?shù)。需要改變文件對(duì)象指針話話,使用
"
f.seek(offset,from_what)
"
?。指針在該操作中從指定的引用位置移動(dòng)offset?比特,引用位置由?from_what?參數(shù)指定。?from_what值為0表示自文件起初處開始,1表示自當(dāng)前文件指針位置開始,2表示自文件末尾開始。?from_what?可以忽略,其默認(rèn)值為零,此時(shí)從文件頭開始。
16
11
.????讀寫文件
17
f?
=
?open(
'
TEST.TXT
'
,?
'
r+
'
)
18
f.write(
'
0123456789abcdef
'
)
19
f.seek(
5
)?????
#
?Go?to?the?6th?byte?in?the?file
20
s?
=
?f.read(
1
)
21
print
?s
22
12
.????文件使用完后,調(diào)用?f.close()可以關(guān)閉文件,釋放打開文件后占用的系統(tǒng)資源。調(diào)用?f.close()之后,再調(diào)用文件對(duì)象會(huì)自動(dòng)引發(fā)錯(cuò)誤。
23
13
.????Python提供了一個(gè)名為?pickle的標(biāo)準(zhǔn)模塊。這是一個(gè)令人贊嘆的模塊,幾乎可以把任何?Python對(duì)象?(甚至是一些?Python?代碼段!)表達(dá)為為字符串,這一過程稱之為封裝?(?pickling)。從字符串表達(dá)出重新構(gòu)造對(duì)象稱之為拆封(?unpickling)。封裝狀態(tài)中的對(duì)象可以存儲(chǔ)在文件或?qū)ο笾校部梢酝ㄟ^網(wǎng)絡(luò)在遠(yuǎn)程的機(jī)器之間傳輸。(想起了json)
24

?2

?3

?4

?5

?6

?7

?8

?9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24
