欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python實現(xiàn)文件名批量替換和內(nèi)容替換

 更新時間:2014年03月20日 11:44:04   作者:  
這篇文章主要介紹了python實現(xiàn)文件名批量替換和內(nèi)容替換,第一個例子可以指定文件類型,需要的朋友可以參考下

指定文件夾,指定文件類型,替換該文件夾下全部文件的內(nèi)容。

注意在window下的讀寫內(nèi)容需要指定編碼,還需要在文件頭指定#coding:utf-8 編碼,避免出現(xiàn)編碼問題。

復(fù)制代碼 代碼如下:

#coding:utf-8
import os
import os.path

path='.'
oldStr='.php'
newStr='.html'

for (dirpath, dirnames, filenames) in os.walk(path):
    for file in filenames:
        if os.path.splitext(file)[1]=='.html':
            print(file)
            filepath=os.path.join(dirpath,file)
            try:
                text_file = open(filepath, "r")
                lines = text_file.readlines()
                text_file.close()
                output  = open(filepath,'w',encoding= 'utf-8')
                for line in lines:
                    #print(line)
                    if not line:
                        break
                    if(oldStr in line):
                        tmp = line.split(oldStr)
                        temp = tmp[0] + newStr + tmp[1]
                        output.write(temp)
                    else:
                        output.write(line)
                output.close()
            except Exception:
                print(Exception)
                break



這個示例可以批量替換文件名和內(nèi)容

復(fù)制代碼 代碼如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os, re

def multi_replace(text, adict):
    rx = re.compile('|'.join(map(re.escape, adict)))
    def xlat(match):
        return adict[match.group(0)]
    return rx.sub(xlat, text)

def batrename(curdir, pairs):
    for fn in os.listdir(curdir):
        newfn = multi_replace(fn, pairs)
        if newfn != fn:
            print("Renames %s to %s in %s." % (fn, newfn, curdir))
            os.rename(os.path.join(curdir, fn), os.path.join(curdir, newfn))
        file = os.path.join(curdir, newfn)

        if os.path.isdir(file):
            batrename(file, pairs)
            continue

        text = open(file).read()
        newtext = multi_replace(text, pairs)
        if newtext != text:
            print("Renames %s." % (file,))
            open(file, 'w').write(newtext)

if __name__=="__main__":
    while True:
        oldname = raw_input("Old name: ")
        newname = raw_input("New name: ")
        if oldname and newname:
            batrename(os.path.abspath('.'), {oldname:newname})
        else: break

相關(guān)文章

  • Python修改IP地址的常見方法總結(jié)

    Python修改IP地址的常見方法總結(jié)

    在網(wǎng)絡(luò)編程中,可能會遇到需要修改IP地址的情況,Python提供了一些功能強大的庫和模塊,可以幫助我們實現(xiàn)IP地址的修改操作,本文將介紹幾種常見的方法,以及如何使用它們來修改IP地址,需要的朋友可以參考下
    2023-12-12
  • Numpy中對向量、矩陣的使用詳解

    Numpy中對向量、矩陣的使用詳解

    這篇文章主要介紹了Numpy中對向量、矩陣的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Python?Requests?基本使用及Requests與?urllib?區(qū)別

    Python?Requests?基本使用及Requests與?urllib?區(qū)別

    在使用Python爬蟲時,需要模擬發(fā)起網(wǎng)絡(luò)請求,主要用到的庫有requests庫和python內(nèi)置的urllib庫,一般建議使用requests,它是對urllib的再次封裝,今天通過本文給大家講解Python?Requests使用及urllib區(qū)別,感興趣的朋友一起看看吧
    2022-11-11
  • Python學(xué)習(xí)筆記之open()函數(shù)打開文件路徑報錯問題

    Python學(xué)習(xí)筆記之open()函數(shù)打開文件路徑報錯問題

    這篇文章主要介紹了Python學(xué)習(xí)筆記之open()函數(shù)打開文件路徑報錯問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Appium+python自動化怎么查看程序所占端口號和IP

    Appium+python自動化怎么查看程序所占端口號和IP

    這篇文章主要介紹了Appium+python自動化怎么查看程序所占端口號和IP,本文以FQ工具 Lantern 為例,通過圖文并茂的形式給大家介紹的非常詳細,需要的朋友可以參考下
    2019-06-06
  • Python實現(xiàn)隨機生成一個漢字的方法分享

    Python實現(xiàn)隨機生成一個漢字的方法分享

    這篇文章主要為大家詳細介紹了Python如何實現(xiàn)隨機生成一個漢字的功能,文中的示例代碼講解詳細,對我們深入了解Python有一定的幫助,需要的可以參考一下
    2023-01-01
  • python數(shù)據(jù)分析之將爬取的數(shù)據(jù)保存為csv格式

    python數(shù)據(jù)分析之將爬取的數(shù)據(jù)保存為csv格式

    Python內(nèi)置了CSV模塊,可直接通過該模塊實現(xiàn)csv文件的讀寫操作,在web應(yīng)用中導(dǎo)出數(shù)據(jù)是比較常見操作,下面這篇文章主要給大家介紹了關(guān)于python數(shù)據(jù)分析之將爬取的數(shù)據(jù)保存為csv格式的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • 詳解DBSCAN算法原理及其Python實現(xiàn)

    詳解DBSCAN算法原理及其Python實現(xiàn)

    DBSCAN,即Density-Based Spatial Clustering of Applications with Noise,基于密度的噪聲應(yīng)用空間聚類,本文將詳細介紹DBSCAN算法的原理及其Python實現(xiàn),需要的可以參考下
    2023-12-12
  • python中使用正則表達式的連接符示例代碼

    python中使用正則表達式的連接符示例代碼

    在正則表達式中,匹配數(shù)字或者英文字母的書寫非常不方便。因此,正則表達式引入了連接符“-”來定義字符的范圍,下面這篇文章主要給大家介紹了關(guān)于python中如何使用正則表達式的連接符的相關(guān)資料,需要的朋友可以參考下。
    2017-10-10
  • 簡單的連接MySQL與Python的Bottle框架的方法

    簡單的連接MySQL與Python的Bottle框架的方法

    這篇文章主要介紹了簡單的連接MySQL與Python的Bottle框架的方法,主要基于mysql-connector插件,需要的朋友可以參考下
    2015-04-04

最新評論