Anthra Norell wrote:
utab wrote:
Dear all,

I have to change some lines from a template file, which is rather long
to paste here, but I would like to make some parts of some lines
optional with my command line arguments but I could not see this
directly, I can count the line numbers and decide on this basis to
decide the lines to be configured to my will.

More specifically, say, I have a that file includes

this is an example python file to play around
.
.
.
some lines
.
.
.
. -> an option line for example.
.
.
.
-> another option line so on.

and execute the script
./myScript option1 option2

so that the options at correct locations will be written.

Any other options for this simple job that i can improve my Python a
bit as well.

Best,
Umut
--
http://mail.python.org/mailman/listinfo/python-list

Your description is not explicit enough to convey your intention. If your template file is too long to post, post a short representative section, an input data sample and a hand-edited sample of the output data you want to generate. You will get more and better advice. .

Frederic

--
http://mail.python.org/mailman/listinfo/python-list


===================================================

Assuming the total number of changes is not large,

put OPTION1 where you want it to go in the text
put OPTION2  (same)

import sys

if len(sys.argv) >1:
  OPTION1 = sys.argv[1]
else:
  OPTION1 = "some default stuff"

similar for OPTION2
if len(sys.argv) >2:
  like above
and any others

print section1+OPTION1+section2+OPTION2....

               or
          just using the line count  (in place of "print sect..")
line_number= 0
for i in template:
  if line_number matches line number to place Opt1
    print OPTION1
  elif line_number matches v2
    print OPTION2
and so forth
  else:
    print i   (line from template NOT being changed)
  line_number += Line_number

you can group line number and replacement on command line
runprogram (43,"use this instead") (56,....
and parse inside program before opening template

one thing to watch out for:
for i in file... often returns just one character at a time, meaning you will have to track EOL's yourself OR import the readline and use it to stand a better chance of getting what you expect from a read file function.


Today: 20090504
Logic outline, No particular version

HTH

Steve
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to