怎麼在已有內容的檔案中修改或者新增內容
模式描述
r以唯讀方式開啟檔案,可讀檔案資訊
w以寫方式開啟檔案,向檔案寫入資訊。檔案存在則覆蓋
a已追加模式開啟檔案(指標指向末尾)
r+以讀寫方式開啟檔案,對檔案讀寫操作
w+消除檔案內容,然後以讀寫方式開啟檔案
a+以讀寫方式開啟檔案,將指標移到末尾
b以二進位制模式開啟檔案。只對windows和dos有效
方法
檔案查詢和替換(正規表示式)這個例子可以充分的解釋前面使用r+這個模式的時候,
為什麼需要執行f.read()之後才能正常插入f.seek(偏移量,選項)
選項=0,表示將檔案指標指向從檔案頭部到「偏移量」位元組處
選項=1,表示將檔案指標指向從檔案的當前位置,向後移動「偏移量」位元組
選項=2,表示將檔案指標指向從檔案的尾部,向前移動「偏移量」位元組
偏移量:正數表示向右偏移,負數表示向左偏移
基本正則語法
統計檔案中關鍵字個數1.始終
字串開始用^ 字串結尾用$
2.重複次數
*:(0~無窮)<=>
+: (1~無窮)<=>
?: (0,1)<=>
{}: 範圍(比如:ab <=> abbb~abbbbb
3.其他
|: 或(比如:(b|cd)ef <=> bef,cdef
.: 可代替任何字元 (比如:^.$ 表示3個字元長度的任意字串)
: 表示該範圍的字元可以出現 (比如:^[a-za-z] 表示乙個以字母開頭的字串)
\: 轉義符 在'^.$()|+?\'這些字元前加轉義字元,中不需要加(\d <=>[0-9], \d <=>[^/d]非數字, \s <=>空白字元, \w <=>單詞字元,任何數字字母和下劃線
(): 表示乙個分組
去掉檔案中的空行和帶』#'的注釋行法一:
#!/usr/bin/python
import re
f = open('/tmp/test.txt')
source = f.read()
f.close()
r = r'hello'
s = len(re.findall(r,source))
print s
法二:import re
fp = file("/tmp/test.txt",'r')
count = 0
for s in fp.readlines():
li = re.findall("hello",s)
if len(li)>0:
count = count + len(li)
print "search",count, "hello"
fp.close()
f = open('test.txt')
result = list()
for line in f.readlines(): # 逐行讀取資料
line = line.strip() #去掉每行頭尾空白
if not len(line) or line.startswith('#'): # 判斷是否是空行或注釋行
continue #是的話,跳過不處理
result.sort() #排序結果
print result
open('cdays-4-result.txt','w').write('%s' % '\n'.join(result)) #儲存入結果檔案
Python基礎 檔案操作
使用 open 能夠開啟乙個檔案,open 的第乙個引數為檔名和路徑 my file.txt 第二個引數為將要以什麼方式開啟它,比如w為可寫方式.如果計算機沒有找到 my file.txt 這個檔案,w 方式能夠建立乙個新的檔案,並命名為 my file.txt 例項 text tthis is m...
python 基礎 檔案操作
開啟 在python,使用open函式,可以開啟乙個已經存在的檔案,或者建立乙個新檔案 open 檔名,訪問模式 示例如下 f open test.txt w 說明 訪問模式說明r 以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。w開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。...
python 基礎 檔案操作
開啟 在python,使用open函式,可以開啟乙個已經存在的檔案,或者建立乙個新檔案 open 檔名,訪問模式 示例如下 f open test.txt w 說明 訪問模式說明r 以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。w開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。...