RSS Forums RSS

Search and replace multiple file

Please support our Python advertiser: Programming Forums
Reply
Posts: 1
Reputation: narendran_9 is an unknown quantity at this point 
Solved Threads: 0
narendran_9 narendran_9 is offline Offline
Newbie Poster

News Search and replace multiple file

  #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
AddThis Social Bookmark Button
Reply With Quote  
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

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

  #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  
Posts: 655
Reputation: paulthom12345 will become famous soon enough paulthom12345 will become famous soon enough 
Solved Threads: 91
paulthom12345's Avatar
paulthom12345 paulthom12345 is offline Offline
Practically a Master Poster

Re: Search and replace multiple file

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

  #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 5:30 pm. Reason: snipped link
Reply With Quote  
Reply

Only community members can participate in forum threads. You must register or log in to contribute.



Similar Threads
Other Threads in the Python Forum
Views: 1642 | Replies: 4 | Currently Viewing: 1 (0 members and 1 guests)

 

Thread Tools Display Modes
Forums | Blogs | Tutorials | Code Snippets | Whitepapers | RSS Feeds | Advertising
All times are GMT -4. The time now is 3:24 pm.
Newsletter Archive - Sitemap - Privacy Statement - Acceptable Use Policy - Contact Us
Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC