ingo janssen wrote:
> depending on how the input file is created data packet a can be in an
> other position for every line.
> figured out how to do it though
>
> order=[a,b,e,d...]
> for i in lines:
> i=i.split(" ")
> for j in order:
> if j = a:
> use function for processing data chunk a
> elseif j = b:
> use proper function for processing data type b
> ...
Where will you get the order from? If you plan to specify it manually, e. g.
lookup_steps = {
"foo": [a, b, c, ...],
"bar": [a, a, f, ...],
}
fileformat = sys.argv[1]
steps = lookup_steps[fileformat]
...
for line in lines:
for step in steps:
if step == a:
...
elif step == b:
...
then I recommend storing one function per file format instead:
def process_foo(line):
... # process one line in foo format
def process_bar(line):
...
lineprocessors = {
"foo": process_foo,
"bar": process_bar,
}
fileformat = sys.argv[1]
process = lineprocessors[fileformat]
...
for line in lines:
process(line)
That way you deal with Python functions instead of a self-invented
minilanguage.
_______________________________________________
Tutor maillist - [email protected]
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor