On 2008-04-20, Matt Herzog <[EMAIL PROTECTED]> wrote: > I'm learning some python with the seemingly simple task of > updating a firewall config file with the new IP address when > my dhcpd server hands one out. Yeah, I know it's dangerous to > edit such a file "in place"
I don't see how what you're doing is editing a file "in place". > but this is just an exercise at this point. I would not mind > using file handles except they seem to add complexity. Do you mean file objects? > The only apparent problem I have with my script so far is that > it's adding lots of blank lines to the file when it updates > the IP addresses. When you do this: for line in inputfile: Each instance of 'line' has a newline at the end of it. When you do this: print line The print operation adds another newline. Try it this way: print line, The comma tells print not to append a newline after it has printed "line". > So "71.146.250.258" needs to change to "71.146.250.223" or something similar. > > Is there a saner, cleaner way to do this that won't add new, > blank lines? sed -i s/71.146.250.258/71.146.250.223/g filename I suppose one probably should escape the dots in the input regex... -- Grant Edwards grante Yow! With YOU, I can be at MYSELF ... We don't NEED visi.com Dan Rather ... -- http://mail.python.org/mailman/listinfo/python-list