使用fileinput模組進行原地修改檔案

2021-06-17 22:09:05 字數 978 閱讀 9142

現有乙個包含使用者資訊的檔案userinfo,內容格式如下:

insert into userinfo (id, username, pwdhash, usealias, alias, realname, inuse, f_branch_id, mobilephone, telephone, email, licensecode,

address, postcode, gender, f_customer_id, iscore, activetime, expiretime, ip)

values (248, 'police', '94216d6c554585824505a697b354b2b1', null, '', 'realname', 1, 223, 'mobile', 'phone', '[email protected]', '', 'address', '', 'm', 163, null, to_date('11-04-2013',

'dd-mm-yyyy'), to_date('19-04-2013', 'dd-mm-yyyy'), '192.168.0.0');

想要將類似to_date('19-04-2013', 'dd-mm-yyyy')的內容替換為null。

使用fileinput模組進行原地修改檔案:

import re,fileinput

p ='to_date\(.*?\)'

for i in fileinput.input([r'd:\userinfo.txt',],inplace=1): #標識原地操作,則print的內容會輸出到原檔案中

if re.search(p,i):

t = re.findall(p,i) # 找到匹配的字串列表(每個行可能有多個滿足條件的字串)

for v in t:

i=i.replace(v,'null')

print fileinput.lineno(),'>',i # fileinput.lineno()輸出行號

Python模組學習 Fileinput

fileinput是python提供的標準庫,使用fileinput模組可以依次讀取命令列引數中給出的多個檔案。也就是說,它可以遍歷 sys.ar 1 並按行讀取列表中的檔案。如果該列表為空,則fileinput預設讀取標準輸入中的內容。fileinput的使用方法非常簡單,大部分情況下,我們直接呼...

fileinput模組 逐行讀取多個檔案

前面章節中,我們學會了使用 open 和 read 或者 readline readlines 組合,來讀取單個檔案中的資料。但在某些場景中,可能需要讀取多個檔案的資料,這種情況下,再使用這個組合,顯然就不合適了。慶幸的是,python 提供了 fileinput 模組,通過該模組中的 input ...

fileinput使用心得

下咋以及一些具體使用過程就不敘述了,簡單說一下使用時候需要注意的幾點 1.在js中封裝好的fileinput函式 初始化fileinput控制項 第一次初始化 type 不同類別 initvalue 初始化值 多圖以,分割 item num 呼叫fileinput的元素 function initf...