Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: OPGELOST Python probleem met lists  (gelezen 642 keer)

Offline BaukeP

  • Lid
  • Steunpunt: Nee
OPGELOST Python probleem met lists
« Gepost op: 2012/10/12, 16:08:41 »
Hallo,
Ik gebruik onderstaande code om bestanden van een andere extensie te voorzien

                files = os.listdir(os.getcwd())
                for file in files:
                    if file.endswith('.JPG','.jpeg','.JPEG'):
                        newfile = os.path.splitext(file)[0] + ".jpg"
                        os.rename(os.path.join(curdir, file), os.path.join(curdir, newfile))

maar ik krijg deze fout:

Traceback (most recent call last):
  File "/home/bauke/bin/cbr2pdf", line 69, in <module>
    ConvertCBR(sys.argv)
  File "/home/bauke/bin/cbr2pdf", line 35, in __init__
    if file.endswith('.JPG','.jpeg','.JPEG'):
TypeError: slice indices must be integers or None or have an __index__ method

heb wel meer moeite met het doorlopen van een list. Wie kan mij dat op een eenvoudige manier uitleggen?

Alvast hartelijk dank
Bauke
« Laatst bewerkt op: 2012/10/12, 22:25:58 door BaukeP »

Offline commandoline

  • LoCo-contact
    • marten-de-vries
    • Marten-de-Vries.nl
  • Steunpunt: Nee
Re: Python probleem met lists
« Reactie #1 Gepost op: 2012/10/12, 16:23:07 »
De fout zit 'm in het aanroepen van str.endswith(). Zoals te lezen valt in de documentatie is het niet mogelijk om daar onbeperkt suffixes in te stoppen:
http://docs.python.org/library/stdtypes.html#str.endswith

Wel staat er:
' suffix can also be a tuple of suffixes to look for'
Dus probeer eens het volgende:
if file.endswith((".jpg", ".JPG", ".jpeg", ".JPEG")):

Offline BaukeP

  • Lid
  • Steunpunt: Nee
Re: Python probleem met lists
« Reactie #2 Gepost op: 2012/10/12, 22:25:36 »
Fantastisch! Com-mandoline, hartelijk dank. Ben ik weer gestruikeld over haakjes.

Bauke