最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python基于正則表達式實現文件內容替換的方法

 更新時間:2017年08月30日 09:01:44   作者:Einzelkampfer  
這篇文章主要介紹了Python基于正則表達式實現文件內容替換的方法,涉及Python文件、目錄及字符串正則替換等相關操作技巧,需要的朋友可以參考下

本文實例講述了Python基于正則表達式實現文件內容替換的方法。分享給大家供大家參考,具體如下:

最近因為有一個項目需要從普通的服務器移植到SAE,而SAE的thinkphp文件結構和本地測試的有出入,需要把一些html和js的引用路徑改成SAE的形式,為了不手工改,特地速成了一下Python的正則表達式和文件操作。主要要求是將某目錄下的html和js里面的幾個路徑變量分別更改成相應的形式,匹配文件名的時候用了正則

import os
import re
#all file in the directory
filelist = []
#function to traverse the directory
def recurseDir(path):
 for i in os.listdir(path):
  if os.path.isdir(path + '\\' + i):
   recurseDir(path + '\\' + i)
  else:
   p = path + '\\' + i
   print p
   filelist.append(p)
#replace the file content
def replace(strFind, strReplace, lines, fileIO):
 for s in lines:
  if s.find(strFind) != -1:
   foutput.write(s)
  fileIO.write(s.replace(strFind, strReplace))
rootpath = os.path.abspath('.')
recurseDir(rootpath)
pattern1 = re.compile(r'.+html')
pattern2 = re.compile(r'.+js')
for fileName in filelist:
 match1 = pattern1.match(fileName)
 match2 = pattern2.match(fileName)
 if match1 or match2:
  lines = open(fileName).readlines()
  fp = open(fileName + '.temp','w')
  foutput = open("result.txt", 'w')
  foutput.write(fileName)
  if match1:
   replace('<include file="./Tpl/', '<include file="./App/Tpl/', lines, fp)
  if match2:
   replace('xxx/index.php', 'index.php', lines, fp)
  fp.close()
  #delete original file
  if os.path.exists(fileName):
   os.remove(fileName);
  #rename the temp file
  os.rename(fileName + '.temp', fileName)

PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:

JavaScript正則表達式在線測試工具:
http://tools.jb51.net/regex/javascript

正則表達式在線生成工具:
http://tools.jb51.net/regex/create_reg

更多關于Python相關內容可查看本站專題:《Python正則表達式用法總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設計有所幫助。

相關文章

  • Python Pexpect庫的簡單使用方法

    Python Pexpect庫的簡單使用方法

    這篇文章主要介紹了Python Pexpect庫的簡單使用方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • python腳本替換指定行實現步驟

    python腳本替換指定行實現步驟

    這篇文章主要介紹了 python腳本替換指定行實現步驟的相關資料,需要的朋友可以參考下
    2017-07-07
  • 解決Django中調用keras的模型出現的問題

    解決Django中調用keras的模型出現的問題

    今天小編就為大家分享一篇解決Django中調用keras的模型出現的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • ubuntu系統(tǒng)下切換python版本的方法

    ubuntu系統(tǒng)下切換python版本的方法

    有時候需要在默認python中使用不通版本的python,下面這篇文章主要介紹了ubuntu系統(tǒng)下切換python版本的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-04-04
  • Django使用paginator插件實現翻頁功能的實例

    Django使用paginator插件實現翻頁功能的實例

    今天小編就為大家分享一篇關于Django使用paginator插件實現翻頁功能的實例,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • python系列 文件操作的代碼

    python系列 文件操作的代碼

    這篇文章主要介紹了python系列 文件操作的代碼,主要是使用了python的open、read、write是些打開、讀取、寫入,導入numpy主要是用到數組操作,需要的朋友可以參考下
    2019-10-10
  • 超詳細注釋之OpenCV dlib實現人臉采集

    超詳細注釋之OpenCV dlib實現人臉采集

    這篇文章主要介紹了OpenCV dlib實現人臉采集,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • python實現DEM數據的陰影生成的方法

    python實現DEM數據的陰影生成的方法

    這篇文章主要介紹了python實現DEM數據的陰影生成的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • OpenCV基于ORB算法實現角點檢測

    OpenCV基于ORB算法實現角點檢測

    這篇文章主要為大家詳細介紹了OpenCV基于ORB算法實現角點檢測,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • pip安裝python庫時報Failed?building?wheel?for?xxx錯誤的解決方法

    pip安裝python庫時報Failed?building?wheel?for?xxx錯誤的解決方法

    最近在使用pip安裝python的時候遇到些問題,所以下面這篇文章主要給大家介紹了關于pip安裝python庫時報Failed?building?wheel?for?xxx錯誤的解決方法,需要的朋友可以參考下
    2023-01-01

最新評論

灌云县| 黔南| 绥化市| 抚宁县| 蒙阴县| 安国市| 合川市| 长葛市| 全州县| 顺平县| 绥中县| 孙吴县| 越西县| 炎陵县| 岗巴县| 澳门| 樟树市| 七台河市| 凌海市| 股票| 卢湾区| 怀柔区| 中宁县| 包头市| 九龙城区| 城步| 曲水县| 邵武市| 拜城县| 顺昌县| 隆昌县| 伊吾县| 云龙县| 黄龙县| 奎屯市| 前郭尔| 屯昌县| 紫金县| 苗栗市| 唐海县| 利津县|