replace_code-3

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

import os, sys, pyperclip
import easygui as g
import re
file_name = 'tt3'
with open(file_name, 'r', encoding='utf-8') as rf:
    old_text = rf.read()

replace_code = r'''void test(void)
{
    int a=10;
    char s[10]={0};
    printf("a=%d,s=%s\n",a,s);
}
'''
target_code_file='targetcode'
with open(target_code_file,'r',encoding='utf-8') as rrrf:
    target_code_list= rrrf.readlines()
    # print(target_code_list)


bracketsnum = replace_code.count('{')

code_lines=replace_code.count('\n')

pat = replace_code.split('\n')[0]
# print(pat)

# pat = pat.replace('(', '\(')
# pat = pat.replace(')', '\)')
# pat = pat.strip('{')
# begin coding regex
# repat = '{:s}{}{}{}{}'.format(pat, '.*\{.+\}', '{', '{:d}'.format(bracketsnum), '}')
# patt = re.compile(repat, re.M | re.S)
# print(patt)
# result = re.findall(patt, old_text)
pposi=0
posi=0
str_posilist=[]
line_posilist=[]
posi=old_text.find(pat,pposi)
posil=old_text.count('\n',0,posi)
str_posilist.append(posi)
# 找出文位置
while posi !=-1:
    pposi = posi+1
    posi=old_text.find(pat,pposi)
    str_posilist.append(posi)
str_posilist.pop()
# 找出行数
for po in str_posilist:
    posil=old_text.count('\n',0,po)
    line_posilist.append(posil)
print(line_posilist)

with open(file_name, 'r', encoding='utf-8') as rrf:
    old_lines=rrf.readlines()
    # print(old_lines)
for line in line_posilist:
    lnum=line
    lnu=line+6
    target=old_lines[lnum:lnu]
    target=target_code_list
# print(old_lines)
# target=old_lines[3:9]
# print(target)

 

posted @ 2017-03-13 17:13  ezway  阅读(146)  评论(0编辑  收藏  举报