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: Python 3.5.4 str object not callable  (gelezen 778 keer)

Offline BaukeP

  • Lid
  • Steunpunt: Nee
Python 3.5.4 str object not callable
« Gepost op: 2017/10/06, 15:15:47 »
Hallo,
Onderstaande regel werkte in vorige versies:
outputfile = "data.cvs"
outputWriter = csv.writer(open(outputfile, 'w', newline=''), delimiter=';', quotechar='"')

Enig idee waarom ik nu deze melding (zie onderwerp) krijg bij de tweede regel?

Alvast bedankt
Bauke

Offline nahjo

  • Lid
  • Steunpunt: Nee
Re: Python 3.5.4 str object not callable
« Reactie #1 Gepost op: 2017/10/06, 15:58:52 »
cvs of csv  :)

cvs convert string
LM18.3xfce Xubuntu 18.04

Offline Nunslaughter

  • Lid
    • timovwb
  • Steunpunt: Nee
Re: Python 3.5.4 str object not callable
« Reactie #2 Gepost op: 2017/10/06, 20:21:59 »
Ergens in uw code override ge de open builtin, iets als dit:

open = "foo"

En zoals de melding zegt kan een str niet aangeroepen worden:

>>> ""()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object is not callable

Edit: dit is trouwens geen goede manier om een bestand te openen omdat het nooit gesloten word. Dit is veel beter:
outputfile = "data.cvs"
with open(outputfile, 'w', newline='') as fh:
    outputWriter = csv.writer(fh, delimiter=';', quotechar='"')
« Laatst bewerkt op: 2017/10/06, 20:24:31 door Nunslaughter »

Offline BaukeP

  • Lid
  • Steunpunt: Nee
Re: Python 3.5.4 str object not callable
« Reactie #3 Gepost op: 2017/10/06, 22:07:53 »
Nunslaughter, hartelijk dank.

Ben bezig om wat koersinfo te krijgen en daar stond uiteraard en inderdaad 'open' bij. Gewijzigd naar Open en nu gaat het als een speer ..... tot het volgende probleempje  :)

Bauke

Offline Nunslaughter

  • Lid
    • timovwb
  • Steunpunt: Nee
Re: Python 3.5.4 str object not callable
« Reactie #4 Gepost op: 2017/10/07, 09:50:56 »
Lees ook even de Python stijlgids "PEP 8" door. Dit zijn geen verplichtingen, maar de meeste Python programmeurs houden zich hieraan. Variabelen starten met kleine letters, dus het zou goed zijn om een andere naam te kiezen dan Open.

https://www.python.org/dev/peps/pep-0008/

Offline BaukeP

  • Lid
  • Steunpunt: Nee
Re: Python 3.5.4 str object not callable
« Reactie #5 Gepost op: 2017/10/07, 18:40:23 »
Dank je. Ga ik doen.

Bauke