python基礎檔案操作

2021-09-14 06:35:11 字數 1962 閱讀 5986

怎麼在已有內容的檔案中修改或者新增內容

模式描述

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開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。...