On Wednesday, 4 May 2016 17:57:32 UTC+10, Sayth Renshaw wrote: > Oops sorry noticed you did in the glob. Sorry squinting at phone. > > Sayth
Hi this seems to be causing me an error in my thinking as well as the program. I am creating a function GetArgs to take a path and file extension from the command line. However I cannot call it effectively. I will clrify this is my function import argparse import glob import os import sqlite3 def GetArgs(parser): '''parse XML from command line''' parser.add_argument("path", nargs="+") parser.add_argument('-e', '--extension', default='', help='File extension to filter by.') args = parser.parse_args() files = set() name_pattern = "*" + args.extension for path in args.path: files.update(glob.glob(os.path.join(path, name_pattern))) return files Then later in program I am attempting to call it an a for statement. filesToProcess = GetArgs() for meeting in filesToProcess: meetdata = [meeting.get(attr) for attr in meetattrs] cur.execute("insert into meetings values (" + ",".join(["%s"] * len(meetattrs)) + ")", meetdata) this fails as i would expect, however if I declare a list as the GetArgs() argument it fails as well. Where my confusion is that I created the function to take arguments from the command line, so I don't have that variable to supply until executed. Have i overbaked the cake? Sayth -- https://mail.python.org/mailman/listinfo/python-list