[EMAIL PROTECTED] wrote:

> Hi. Thanks for the tip. However, implementing that example, the script
> will only generate the second output "file", (or it's overwriting the
> first one), so all I get when run is "fileb".

I think your looping code has the structure

for x in ["a", "b", "c"]:
   pass
print x 

This will print x once after the loop has completed. By then the value of x
is "c". To fix it, move the code from /after/ the loop /into/ the loop:

for x in ["a", "b", "c"]:
    print x

In the code you give that would mean that you have to indent the

try:
    # ...
except:
    # ...

statement one more level.

Inside that loop you want a filename and an integer value in lockstep. The
simplest way to get that is zip():

>>> for Disc, suffix in zip(xrange(2, 6, 2), "abcdefghijklmnopqrstuvwxyz"):
...     Out_Dem = "out" + suffix
...     print Disc, Out_Dem
...
2 outa
4 outb

Again, you have to replace the print statement by your try...except. If you
fear that you will eventually run out of suffices, here is a function that
"never" does:

>>> def gen_suffix(chars):
...     for c in chars:
...             yield c
...     for c in gen_suffix(chars):
...             for d in chars:
...                     yield c + d
...
>>> for i, s in zip(range(20), gen_suffix("abc")):
...     print i, s
...
0 a
1 b
2 c
3 aa
4 ab
5 ac
6 ba
7 bb
8 bc
9 ca
10 cb
11 cc
12 aaa
13 aab
14 aac
15 aba
16 abb
17 abc
18 aca
19 acb

That said, reading the tutorial or an introductory book on Python never
hurts...

Peter

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

Reply via email to