hpqztsc 发表于 2020-12-12 20:06

【原创源码】【python】python文本文件批处理

本帖最后由 hpqztsc 于 2020-12-12 20:11 编辑

在项目中需要进行很多重复的操作,如要给代码的源文件添加相同的代码,这个时候一个文件一个文件的操作就很浪费时间了,通过python批处理一秒不到全部添加完成,本代码只是一个抛砖引玉的效果,只要是有特征的文本修改均可由代码完成,解放双手!
import os
import shutil

def text_edit_vhd(filepath):
    with open(filepath,'r+') as file_head:
      content = file_head.read()
      file_head.seek(0,0)
      file_head.write("`protect begin \n" + content)
      file_head.seek(0,2)
      file_head.write("\n`protect end ")

def text_edit_v(filepath):
    with open(filepath,'r+') as file_head:
      content = file_head.read()
      file_head.seek(0,0)
      file_head.write("`protect \n"+ content)
      file_head.seek(0,2)
      file_head.write(" \n`endprotect ")      


def add_text(srcpath):                  #寻找本文件夹及子文件夹下所以符合要求的文本进行处理
    srcdirs = os.listdir(srcpath)
    for dir in srcdirs:
      if not os.path.isfile(os.path.join(srcpath, dir)): #判断dir属性,为文件或者文件夹
            add_text(os.path.join(srcpath, dir))
      else :
            if '.vhd' == dir[-4: ]:
                print("正在处理文件中,文件路径为:"+os.path.join(srcpath, dir))
                text_edit_vhd(os.path.join(srcpath, dir))
                print("文件处理完成!")
            elif '.v' == dir[-2:] :
                print("正在处理文件中,文件路径为:"+os.path.join(srcpath, dir))
                text_edit_v(os.path.join(srcpath, dir))
                print("文件处理完成!")


path = os.getcwd()
print('当前文件路径为:'+ path)
os.chdir('..')
root_path = os.getcwd()
handle_path = root_path + '\handle'
print('当前文件路径为:' + handle_path)
shutil.copytree(path,handle_path)            #备份后进行数据处理
add_text(handle_path)
print("run done\n")


欢迎大家一起讨论学习!

冰棍好烫啊 发表于 2020-12-12 20:24

年轻的旅途 发表于 2020-12-12 20:30

感谢分享。

请叫我老龚 发表于 2020-12-12 20:45

1096315079a 发表于 2020-12-12 20:52


没基础就看得懂中文55555555555555

1096315079a 发表于 2020-12-12 20:54

欢迎大家一起讨论学习!

sharokku4869 发表于 2020-12-12 21:04

感谢分享源码!学习一下

720xixi 发表于 2020-12-12 22:11

优秀!!!!!

tdka619 发表于 2020-12-13 02:37

谢谢分享。

zpy2 发表于 2020-12-13 06:09

不错,谢谢分享。。
页: [1] 2
查看完整版本: 【原创源码】【python】python文本文件批处理