Nieuws:

We zijn er weer.

Na lange tijd van afwezigheid zijn we er weer  :laugh:
We hebben alle wachtwoorden gereset, je oude wachtwoord werkt niet meer.Je moet via het "wachtwoord vergeten"-linkje je wachtwoord resetten. Je krijgt hiervoor een mailtje op het adres dat je bij ons geregistreerd hebt.

De komende tijd zijn we nog druk bezig om de rest van de site op te bouwen, dus het kan zijn dat sommige onderdelen (tijdelijk) niet werken.

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

Auteur Topic: OPGELOST Python probleem met lists  (gelezen 428 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