[python小工具] 實現替換檔案裡面的內容
阿新 • • 發佈:2019-01-22
參考http://www.cnblogs.com/www1707/p/5858212.html
可以替換文字中指定的字元
思路擴充套件:
配上正則表示式,可以直接向文字中插入指定的內容
也可以刪除指定的內容
加上上一篇寫的在資料夾下查詢指定的檔案, 可以擴充為 批量修改檔案的指令碼
#!/usr/bin/python # -*- coding=UTF-8 -*- import sys import os len_argv=len(sys.argv) #print '傳引數量',len_argv-1 old_words='1' if len_argv < 4: print '引數錯誤:python '+sys.argv[0]+' 需要編輯的檔案 被替換的字串 提成成的字串 [另存成的檔案]' elif len_argv > 5: print '引數錯誤:python '+sys.argv[0]+' 需要編輯的檔案 被替換的字串 提成成的字串 [另存成的檔案]' else: if not os.path.isfile(sys.argv[1]): print '%s 檔案不存在' % sys.argv[1] sys.exit() s_file = file(sys.argv[1],'r+') old_str = sys.argv[2] new_str = sys.argv[3] d_file = file(sys.argv[1]+'.tmp','w') for line in s_file.readlines(): d_file.writelines(line.replace(old_words,'')) ''' if 'ONLINE' in line: print line d_file.writelines(line.replace(old_words,'')) else: d_file.writelines(line) ''' s_file.close() d_file.close() if len_argv == 4: os.rename(sys.argv[1]+'.tmp',sys.argv[1]) else: os.rename(sys.argv[1]+'.tmp',sys.argv[4])