[EMAIL PROTECTED] wrote:

> in dgf.py: (hope the formatting gets good for you, t-bird breaks the 
> lines badly on my machine...)
> 
> def csvwriter(*column_definitions):
>          """Edit Me!"""
>          if sys.argv[0] == /usr/local/bin/xyz.py:
>               output_csv_filename = "xyz.csv"
>       else:
>               output_csv_filename = raw_input("Name of the file to produce? 
> (ATTENTION: WILL BE OVERWRITTEN!) ")

If you can change xyz.py you can avoid this by adding an optional 
filename parameter to the function.

>          first_row = ";".join(*column_definitions)
>          try:
>                  file = open(output_csv_filename, "w")
>                  file.write(first_row)
>                  file.close()
>          except:
>                  print("Couldn't open %s for writing." % 
output_csv_filename)

It's not such a good idea to hide the exception like this; you might at 
least want to print the actual exception. Or just let it propagate.

>                  sys.exit(1)

You can use the csv module to write the header row, too.

I would write this as

def csvwriter(*column_definitions, filename=None):
        if filename is none:
                filename = raw_input("Name of the file to produce?
(ATTENTION: WILL BE OVERWRITTEN!) ")

        try:
                out = csv.writer(open(filename, "ab"),
delimiter=";", quoting=csv.QUOTE_NONE)
                out.writerow(column_definitions)
        except Exception, e
                print("Couldn't open %s for writing." %
output_csv_filename)
                print e
        return out

Kent
_______________________________________________
Tutor maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/tutor

Reply via email to