I don't get this - what is the clean way of the order of passing arguments to functions?
The called function goes like this: def csvwriter(output_csv_filename=None, *coloumn_definitions): """Edit Me!""" if output_csv_filename == None: output_csv_filename = raw_input("Name der zu erzeugenden Datei (vollständiger Pfad)? (ACHTUNG: WIRD ÜBERSCHRIEBEN, FALLS VORHANDEN!) ") first_row = ";".join(coloumn_definitions) print(first_row) try: file = open(output_csv_filename, "w") file.writerow(first_row) file.close() except Exception, e: print("Konnte %s nicht zum Schreiben öffnen.") sys.exit(e) return csv.writer(open(output_csv_filename, "ab"), delimiter=";", quoting=csv.QUOTE_NONE) The call to the function seems impossible to do. When I say: writer = dgf.csvwriter(output_csv_filename=None, "kundennummer", "anrede", "vorname", "nachname", "plz", "ort", "adresse", "kontoinhaber", "blz", "kto", "bankname", "status", "spielbeginn", "letzte_aenderung", "importdatum", "briefdatum", "buchungsdatum", "stornodatum") I get: SyntaxError: non-keyword arg after keyword arg -> So I guess I have to put keyword arg at the end... When I put output_csv_writer at the end: writer = dgf.csvwriter("kundennummer", "anrede", "vorname", "nachname", "plz", "ort", "adresse", "kontoinhaber", "blz", "kto", "bankname", "status", "spielbeginn", "letzte_aenderung", "importdatum", "briefdatum", "buchungsdatum", "stornodatum", output_csv_filename=None) I get: TypeError: csvwriter() got multiple values for keyword argument 'output_csv_filename' -> Am I right that output_csv_filename now becomes "kundennummer" at first? Also, changing the function definition gives me syntax error: def csvwriter(*coloumn_definitions, output_csv_filename=None): ^ SyntaxError: invalid syntax What's going on here? I'm confused... Paul _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor