国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現文件名批量替換和內容替換

2019-11-25 18:28:55
字體:
來源:轉載
供稿:網友

指定文件夾,指定文件類型,替換該文件夾下全部文件的內容。

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

復制代碼 代碼如下:

#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



這個示例可以批量替換文件名和內容

復制代碼 代碼如下:

#!/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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安义县| 咸丰县| 辉南县| 芦溪县| 息烽县| 南皮县| 通化县| 东至县| 新宁县| 织金县| 义马市| 张家港市| 乐安县| 东乡县| 富川| 漯河市| 谢通门县| 阳东县| 延吉市| 大关县| 大名县| 寿光市| 蒙自县| 科尔| 靖江市| 桑植县| 嘉鱼县| 汶川县| 伊宁县| 隆化县| 杭锦后旗| 江门市| 巫溪县| 广宁县| 荥阳市| 东乌珠穆沁旗| 湖南省| 双柏县| 平定县| 于都县| 夏河县|