Hi. :) I'm trying to write a loop to simplify my life (and code :)). The loop is going to iterate over a list of values that I have to change in a file. I think my problem is better described with some code. :)
# variables interface = "eth0" address = "192.168.1.5" mask = "255.255.255.0" gateway = "192.168.1.1" def replaceText( old , new , file ): for line in fileinput.FileInput( file , inplace = 1 ): line = line.replace( old , new ) sys.stdout.write( line ) editValues = ( 'interface' , 'address' , 'mask' , 'gateway' ) for value in editValues: foo( '$' + value + '$' , value , '/etc/conf.d/net' ) I need to edit the values listed in "editValues" in a specific file. The file looks something like this before the code runs: config_$interface$=( "$address$ netmask $mask$" ) routes_$interface$=( "default via $gateway$" ) As you can see, the values that I want to edit are originally in the file as $variable$. The goal of my loop is to iterate over the editValues tuple and edit the $variable$ and put the ACTUAL variable value. :) After running my code, the file looks like this: config_interface=( "address netmask mask" ) routes_interface=( "default via gateway" ) If I put some debug statements in the function replaceText(), it shows that what is passed in is actually the value "address" and "interface", instead of "192.168.1.5" or "eth0". Obviously that's not what I want. :) I imagine I'm missing something obvious. Doh! Thoughts? Ideas? Thanks! .james _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor