布爾類型
False爲0,值爲假
True爲1,值爲真
open()函數與file()函數是一個東西
用法一樣open('filepath','mode')
其中mode有:
w 寫入模式如果沒有文件則創建,文件以前有內容則覆蓋
r 只讀模式
a 附加模式
w+ 寫讀模式,先寫入文件再讀取文件,同樣會覆蓋之前的內容
r+ 讀寫模式,可讀可寫,寫不會覆蓋之前的內容
open()函數在內存中指針的問題:
當使用read()讀取完一個文件後,此文件的在內存中的指針就會被放在此文件的末尾,在執行下一次read()時會出現獲取值爲空的現象,以下例子可以解釋:
example: >>> f = open('test.txt','r+') >>> f.read() 'testnextnext2' #讀取文件內容 >>> f.tell() #查看當前指針所在位置 13 >>> f.read() #再次讀取文件內容,發現返回值爲空 '' >>> f.seek(0) #重置指針位置到"0"(第一個字開始) >>> f.read() #再次讀取,返回值 'testnextnext2' #file的seek函數 指定內存指針的位置 #file的tell函數 查看內存指針的位置
split()函數括號中指定分隔符,後邊追加[]指定list中的值
example: >>> f.read().split(',') ['a1', 'a2'] >>> f.seek(0) >>> f.read().split(',')[1] 'a2'
readline() 與 readlines()
[root@sc-01 day2]# cat test.txt a1,a2 >>> f = open('test.txt','r+') >>> f.readline() 'a1,a2' #只能逐行顯示,不能指定在那一行開始 >>> f.seek(0) >>> f.readlines() ['a1,a2'] #返回值類型爲列表,與split()相似
if in語句:
example:
#No.1 Normal [root@sc-01 day1]# cat ./sentence-if-in.py #!/bin/env python name = "xuhui" if "x" in name: print "OK" else: print "False" #No.2 or [root@sc-01 day1]# ./sentence-if-in.py OK [root@sc-01 day1]# cat ./sentence-if-in.py #!/bin/env python name = "xuhui" if "x" or "h" in name: print "OK" else: print "False" #No.3 and [root@sc-01 day1]# ./sentence-if-in.py OK [root@sc-01 day1]# cat ./sentence-if-in.py #!/bin/env python name = "xuhui" if "x" and "2" in name: print "OK" else: print "False" [root@sc-01 day1]# ./sentence-if-in.py False