Search and replace multiple file

Reply

Join Date: Sep 2007
Posts: 1
Reputation: narendran_9 is an unknown quantity at this point 
Solved Threads: 0
narendran_9 narendran_9 is offline Offline
Newbie Poster

Search and replace multiple file

 
0
  #1
Sep 17th, 2007
Hi Pythonist,

I write the code in Python for search and replace the text in all XML files at current directory.
But I'm unable to find and replace the text "<tex>" as empty in all XML files. Here I want to remove the text:
<tex>z_{1 - \alpha }^2 \,\sigma _{{\rm SCR}}^2 = \sum\limits_{i = 1}^n {z_{1 - \alpha }^2 \,\sigma _i^2 } + 2\sum\limits_{i \ne }^n {\sum\limits_j^n {z_{1 - \alpha }^2 \,\rho _{ij} \,\sigma _i \,\sigma _j } } ,</tex>

as

empty
ie. re.sub(r"<tex>(.*)</tex>",r"", filePath)
whats wrong with this code and explain how and where to use the script.

And also I want to replace all starting with <mtml> as <mml:mathml> and <m...> as <mml:m...> within the element <fd id="1" cnt="1"><no>1a</no> for all XML files in the current directory.
Here I want to replace the text:
risk modules:<fd id="1" cnt="1"><no>1a</no><mtml><mrow><msubsup><mi><mi>z</mi></mi><mrow><mn>1</mn><mo>-</mo><mi><mi>&#x03B1;</mi></mi></mrow><mn>2</mn></msubsup><mi>&#x2009;</mi><msubsup><mi><mi>&#x03C3;</mi></mi><mrow><mtext>SCR</mtext></mrow><mn>2</mn></msubsup><mo>=</mo><munderover><mo>&#x2211;</mo><mrow><mi><mi>i</mi></mi><mo>=</mo><mn>1</mn></mrow><mi><mi>n</mi></mi></munderover><mrow><msubsup><mi><mi>z</mi></mi><mrow><mn>1</mn><mo>-</mo><mi><mi>&#x03B1;</mi></mi></mrow><mn>2</mn></msubsup><mi>&#x2009;</mi><msubsup><mi><mi>&#x03C3;</mi></mi><mi><mi>i</mi></mi><mn>2</mn></msubsup></mrow><mo>+</mo><mn>2</mn><munderover><mo>&#x2211;</mo><mrow><mi><mi>i</mi></mi><mo>&#x2260;</mo></mrow><mi><mi>n</mi></mi></munderover><mrow><munderover><mo>&#x2211;</mo><mi><mi>j</mi></mi><mi><mi>n</mi></mi></munderover><mrow><msubsup><mi><mi>z</mi></mi><mrow><mn>1</mn><mo>-</mo><mi><mi>&#x03B1;</mi></mi></mrow><mn>2</mn></msubsup><mi>&#x2009;</mi><msub><mi><mi>&#x03C1;</mi></mi><mrow><mi><mi>i</mi><mi>j</mi></mi></mrow></msub><mi>&#x2009;</mi><msub><mi><mi>&#x03C3;</mi></mi><mi><mi>i</mi></mi></msub><mi>&#x2009;</mi><msub><mi><mi>&#x03C3;</mi></mi><mi><mi>j</mi></mi></msub></mrow></mrow><mtext><mo>,</mo></mtext></mrow></mtml><tex>z_{1 - \alpha }^2 \,\sigma _{{\rm SCR}}^2 = \sum\limits_{i = 1}^n {z_{1 - \alpha }^2 \,\sigma _i^2 } + 2\sum\limits_{i \ne }^n {\sum\limits_j^n {z_{1 - \alpha }^2 \,\rho _{ij} \,\sigma _i \,\sigma _j } } ,</tex></fd>where

as

risk modules:<fd id="1" cnt="1"><no>1a</no><mml:mathml><mml:row><mml:subsup><mml:i><mml:i>z</mml:i></mml:i><mml:row><mml:n>1</mml:n><mml:o>-</mml:o><mml:i><mml:i>&#x03B1;</mml:i></mml:i></mml:row><mml:n>2</mml:n></mml:subsup><mml:i>&#x2009;</mml:i><mml:subsup><mml:i><mml:i>&#x03C3;</mml:i></mml:i><mml:row><mml:text>SCR</mml:text></mml:row><mml:n>2</mml:n></mml:subsup><mml:o>=</mml:o><mml:underover><mml:o>&#x2211;</mml:o><mml:row><mml:i><mml:i>i</mml:i></mml:i><mml:o>=</mml:o><mml:n>1</mml:n></mml:row><mml:i><mml:i>n</mml:i></mml:i></mml:underover><mml:row><mml:subsup><mml:i><mml:i>z</mml:i></mml:i><mml:row><mml:n>1</mml:n><mml:o>-</mml:o><mml:i><mml:i>&#x03B1;</mml:i></mml:i></mml:row><mml:n>2</mml:n></mml:subsup><mml:i>&#x2009;</mml:i><mml:subsup><mml:i><mml:i>&#x03C3;</mml:i></mml:i><mml:i><mml:i>i</mml:i></mml:i><mml:n>2</mml:n></mml:subsup></mml:row><mml:o>+</mml:o><mml:n>2</mml:n><mml:underover><mml:o>&#x2211;</mml:o><mml:row><mml:i><mml:i>i</mml:i></mml:i><mml:o>&#x2260;</mml:o></mml:row><mml:i><mml:i>n</mml:i></mml:i></mml:underover><mml:row><mml:underover><mml:o>&#x2211;</mml:o><mml:i><mml:i>j</mml:i></mml:i><mml:i><mml:i>n</mml:i></mml:i></mml:underover><mml:row><mml:subsup><mml:i><mml:i>z</mml:i></mml:i><mml:row><mml:n>1</mml:n><mml:o>-</mml:o><mml:i><mml:i>&#x03B1;</mml:i></mml:i></mml:row><mml:n>2</mml:n></mml:subsup><mml:i>&#x2009;</mml:i><mml:sub><mml:i><mml:i>&#x03C1;</mml:i></mml:i><mml:row><mml:i><mml:i>i</mml:i><mml:i>j</mml:i></mml:i></mml:row></mml:sub><mml:i>&#x2009;</mml:i><mml:sub><mml:i><mml:i>&#x03C3;</mml:i></mml:i><mml:i><mml:i>i</mml:i></mml:i></mml:sub><mml:i>&#x2009;</mml:i><mml:sub><mml:i><mml:i>&#x03C3;</mml:i></mml:i><mml:i><mml:i>j</mml:i></mml:i></mml:sub></mml:row></mml:row><mml:text><mml:o>,</mml:o></mml:text></mml:row></mml:mathml>
</fd>where
Pls. explain how and where to use the script.

Here my main python script is:

import os, sys, shutil

mydir= os.getcwd()
#makedir = os.mkdir('out')
#path = os.getcwd()
#filename = glob.glob(os.path.join(path, '*.xml') )


findreplace = [
('&ndash;','–'),
('&rsquo;','É'),
]

def replaceStringInFile(filePath):
"replaces all findStr by repStr in file filePath"
tempName=filePath+'xml'
# backupName=filePath+'~~'
input = open(filePath)
output = open(tempName,'w')

inF = open(filePath,'r')
s=unicode(inF.read())
inF.close()

for couple in findreplace:
outtext=s.replace(couple[0],couple[1])
s=outtext
outF = open(tempName,'wb')
outF.write(outtext.encode('utf-8'))
outF.close()
# shutil.copy2(filePath,backupName)
# os.remove(filePath)
# os.rename(tempName,filePath)

def myfun(dummy, dirr, filess):
for child in filess:
if '.xml' == os.path.splitext(child)[1] and os.path.isfile(dirr+'/'+child):
replaceStringInFile(dirr+'/'+child)
os.path.walk(mydir, myfun, 3)

Can anyone help me regarding the above 2 points.

Thanks in advance
Naren
Reply With Quote Quick reply to this message  
Join Date: Mar 2006
Posts: 18
Reputation: sharma_vivek82 is an unknown quantity at this point 
Solved Threads: 0
sharma_vivek82 sharma_vivek82 is offline Offline
Newbie Poster

Re: Search and replace multiple file

 
0
  #2
Oct 3rd, 2007
hi, i have used the method explaned in following link, and this helped me a lot, i am sure that this also ll help you..
http://aspn.activestate.com/ASPN/Coo...n/Recipe/52250
Best wishes,
Vivek Sharma
Zope/Python Developer
Reply With Quote Quick reply to this message  
Join Date: Jan 2009
Posts: 3
Reputation: Michael_Smith is an unknown quantity at this point 
Solved Threads: 0
Michael_Smith Michael_Smith is offline Offline
Newbie Poster

Re: Search and replace multiple file

 
0
  #3
Feb 7th, 2009
Originally Posted by narendran_9 View Post
Hi Pythonist,

I write the code in Python for search and replace the text in all XML files at current directory.
But I'm unable to find and replace the text "<tex>" as empty in all XML files. Here I want to remove the text:
<tex>z_{1 - \alpha }^2 \,\sigma _{{\rm SCR}}^2 = \sum\limits_{i = 1}^n {z_{1 - \alpha }^2 \,\sigma _i^2 } + 2\sum\limits_{i \ne }^n {\sum\limits_j^n {z_{1 - \alpha }^2 \,\rho _{ij} \,\sigma _i \,\sigma _j } } ,</tex>

as

empty
ie. re.sub(r"<tex>(.*)</tex>",r"", filePath)
whats wrong with this code and explain how and where to use the script.

And also I want to replace all starting with <mtml> as <mml:mathml> and <m...> as <mml:m...> within the element <fd id="1" cnt="1"><no>1a</no> for all XML files in the current directory.
Here I want to replace the text:
risk modules:<fd id="1" cnt="1"><no>1a</no><mtml><mrow><msubsup><mi><mi>z</mi></mi><mrow><mn>1</mn><mo>-</mo><mi><mi>&#x03B1;</mi></mi></mrow><mn>2</mn></msubsup><mi>&#x2009;</mi><msubsup><mi><mi>&#x03C3;</mi></mi><mrow><mtext>SCR</mtext></mrow><mn>2</mn></msubsup><mo>=</mo><munderover><mo>&#x2211;</mo><mrow><mi><mi>i</mi></mi><mo>=</mo><mn>1</mn></mrow><mi><mi>n</mi></mi></munderover><mrow><msubsup><mi><mi>z</mi></mi><mrow><mn>1</mn><mo>-</mo><mi><mi>&#x03B1;</mi></mi></mrow><mn>2</mn></msubsup><mi>&#x2009;</mi><msubsup><mi><mi>&#x03C3;</mi></mi><mi><mi>i</mi></mi><mn>2</mn></msubsup></mrow><mo>+</mo><mn>2</mn><munderover><mo>&#x2211;</mo><mrow><mi><mi>i</mi></mi><mo>&#x2260;</mo></mrow><mi><mi>n</mi></mi></munderover><mrow><munderover><mo>&#x2211;</mo><mi><mi>j</mi></mi><mi><mi>n</mi></mi></munderover><mrow><msubsup><mi><mi>z</mi></mi><mrow><mn>1</mn><mo>-</mo><mi><mi>&#x03B1;</mi></mi></mrow><mn>2</mn></msubsup><mi>&#x2009;</mi><msub><mi><mi>&#x03C1;</mi></mi><mrow><mi><mi>i</mi><mi>j</mi></mi></mrow></msub><mi>&#x2009;</mi><msub><mi><mi>&#x03C3;</mi></mi><mi><mi>i</mi></mi></msub><mi>&#x2009;</mi><msub><mi><mi>&#x03C3;</mi></mi><mi><mi>j</mi></mi></msub></mrow></mrow><mtext><mo>,</mo></mtext></mrow></mtml><tex>z_{1 - \alpha }^2 \,\sigma _{{\rm SCR}}^2 = \sum\limits_{i = 1}^n {z_{1 - \alpha }^2 \,\sigma _i^2 } + 2\sum\limits_{i \ne }^n {\sum\limits_j^n {z_{1 - \alpha }^2 \,\rho _{ij} \,\sigma _i \,\sigma _j } } ,</tex></fd>where

as

risk modules:<fd id="1" cnt="1"><no>1a</no><mml:mathml><mml:row><mml:subsup><mml:i><mml:i>z</mml:i></mml:i><mml:row><mml:n>1</mml:n><mml:o>-</mml:o><mml:i><mml:i>&#x03B1;</mml:i></mml:i></mml:row><mml:n>2</mml:n></mml:subsup><mml:i>&#x2009;</mml:i><mml:subsup><mml:i><mml:i>&#x03C3;</mml:i></mml:i><mml:row><mml:text>SCR</mml:text></mml:row><mml:n>2</mml:n></mml:subsup><mml:o>=</mml:o><mml:underover><mml:o>&#x2211;</mml:o><mml:row><mml:i><mml:i>i</mml:i></mml:i><mml:o>=</mml:o><mml:n>1</mml:n></mml:row><mml:i><mml:i>n</mml:i></mml:i></mml:underover><mml:row><mml:subsup><mml:i><mml:i>z</mml:i></mml:i><mml:row><mml:n>1</mml:n><mml:o>-</mml:o><mml:i><mml:i>&#x03B1;</mml:i></mml:i></mml:row><mml:n>2</mml:n></mml:subsup><mml:i>&#x2009;</mml:i><mml:subsup><mml:i><mml:i>&#x03C3;</mml:i></mml:i><mml:i><mml:i>i</mml:i></mml:i><mml:n>2</mml:n></mml:subsup></mml:row><mml:o>+</mml:o><mml:n>2</mml:n><mml:underover><mml:o>&#x2211;</mml:o><mml:row><mml:i><mml:i>i</mml:i></mml:i><mml:o>&#x2260;</mml:o></mml:row><mml:i><mml:i>n</mml:i></mml:i></mml:underover><mml:row><mml:underover><mml:o>&#x2211;</mml:o><mml:i><mml:i>j</mml:i></mml:i><mml:i><mml:i>n</mml:i></mml:i></mml:underover><mml:row><mml:subsup><mml:i><mml:i>z</mml:i></mml:i><mml:row><mml:n>1</mml:n><mml:o>-</mml:o><mml:i><mml:i>&#x03B1;</mml:i></mml:i></mml:row><mml:n>2</mml:n></mml:subsup><mml:i>&#x2009;</mml:i><mml:sub><mml:i><mml:i>&#x03C1;</mml:i></mml:i><mml:row><mml:i><mml:i>i</mml:i><mml:i>j</mml:i></mml:i></mml:row></mml:sub><mml:i>&#x2009;</mml:i><mml:sub><mml:i><mml:i>&#x03C3;</mml:i></mml:i><mml:i><mml:i>i</mml:i></mml:i></mml:sub><mml:i>&#x2009;</mml:i><mml:sub><mml:i><mml:i>&#x03C3;</mml:i></mml:i><mml:i><mml:i>j</mml:i></mml:i></mml:sub></mml:row></mml:row><mml:text><mml:o>,</mml:o></mml:text></mml:row></mml:mathml>
</fd>where
Pls. explain how and where to use the script.

Here my main python script is:

import os, sys, shutil

mydir= os.getcwd()
#makedir = os.mkdir('out')
#path = os.getcwd()
#filename = glob.glob(os.path.join(path, '*.xml') )


findreplace = [
('&ndash;','–'),
('&rsquo;','É'),
]

def replaceStringInFile(filePath):
"replaces all findStr by repStr in file filePath"
tempName=filePath+'xml'
# backupName=filePath+'~~'
input = open(filePath)
output = open(tempName,'w')

inF = open(filePath,'r')
s=unicode(inF.read())
inF.close()

for couple in findreplace:
outtext=s.replace(couple[0],couple[1])
s=outtext
outF = open(tempName,'wb')
outF.write(outtext.encode('utf-8'))
outF.close()
# shutil.copy2(filePath,backupName)
# os.remove(filePath)
# os.rename(tempName,filePath)

def myfun(dummy, dirr, filess):
for child in filess:
if '.xml' == os.path.splitext(child)[1] and os.path.isfile(dirr+'/'+child):
replaceStringInFile(dirr+'/'+child)
os.path.walk(mydir, myfun, 3)

Can anyone help me regarding the above 2 points.

Thanks in advance
Naren
Not sure if this will help but you should try this directory compare prog in your problem.
Reply With Quote Quick reply to this message  
Join Date: May 2008
Posts: 895
Reputation: Paul Thompson has a spectacular aura about Paul Thompson has a spectacular aura about 
Solved Threads: 143
Sponsor
Paul Thompson's Avatar
Paul Thompson Paul Thompson is offline Offline
previously paulthom12345

Re: Search and replace multiple file

 
0
  #4
Feb 7th, 2009
This post is over a year old. Just let it die.
Make it idiot proof and someone will make a better idiot.
Check out my Site | and join us on IRC | Python Specific IRC
Reply With Quote Quick reply to this message  
Join Date: Jan 2009
Posts: 3
Reputation: Michael_Smith is an unknown quantity at this point 
Solved Threads: 0
Michael_Smith Michael_Smith is offline Offline
Newbie Poster

Re: Search and replace multiple file

 
-1
  #5
Feb 8th, 2009
This post is over a year old. Just let it die.
Ah sorry, I just didn't notice the date. I just fixed the link for a case it is needed to him...
Originally Posted by Michael_Smith View Post
Not sure if this will help but you should try this soft for directory compare in your problem.
Last edited by Narue; Mar 10th, 2009 at 6:30 pm. Reason: snipped link
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:



Similar Threads
Other Threads in the Python Forum
Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC