From lists at janc.be Sun Jul 2 23:26:49 2006 From: lists at janc.be (Jan Claeys) Date: Sun, 02 Jul 2006 23:26:49 +0200 Subject: [python-nl] input beperking In-Reply-To: References: Message-ID: <1151875609.11240.126.camel@localhost.localdomain> Op vr, 30-06-2006 te 16:58 +0200, schreef Patrick van Roekel: > Is het ook mogelijk om je muis en toetsenbord tijdelijk "uit" te > schakelen met python?? Als je OS (besturingssysteem) dat toestaat wel ja. > en zo ja hoe? Dat hangt van je OS af... -- Jan Claeys From lists at janc.be Sun Jul 2 23:25:01 2006 From: lists at janc.be (Jan Claeys) Date: Sun, 02 Jul 2006 23:25:01 +0200 Subject: [python-nl] gebruik van propertyklasse In-Reply-To: <20060630050406.1F86F42A@resin01.mta.everyone.net> References: <20060630050406.1F86F42A@resin01.mta.everyone.net> Message-ID: <1151875501.11240.124.camel@localhost.localdomain> Op vr, 30-06-2006 te 05:04 -0700, schreef Edzard Pasma: > Uit interesse experimenteer ik met python en probeer aan een module > kunstmatige attributen toe te voegen. Naar aanleiding daarvan heb ik > de volgende vraag: is het mogelijk om objecten van het type property > op globaal nivo te gebruiken? Bijvoorbeeld: Properties zijn bedoeld om van een attribuut van een "new-style class" een "property" te maken, niet om afzonderlijk te gebruiken. Zie volgende pagina in de documentatie (ergens rond 3/5e van de pagina) voor een korte uitleg en een voorbeeld: > Dit geeft: (dus niet "dit wil ik zien"). Logisch, je vraagt om een methode (functie) zelf af te drukken, niet het resultaat dat die functie teruggeeft na uitvoering. Een functie uitvoeren doe je door er () achter te zetten, eventueel met de nodige parameters tussen die haakjes. Misschien is het nuttig als je eens uitlegt waarom je dit probeerde of wat je ermee wilde bereiken, misschien kunnen we dan uitleggen hoe je dat best doet? -- Jan Claeys From edzard at volcanomail.com Mon Jul 3 14:31:53 2006 From: edzard at volcanomail.com (Edzard Pasma) Date: Mon, 3 Jul 2006 05:31:53 -0700 Subject: [python-nl] gebruik van propertyklasse Message-ID: <20060703053153.1F87CB75@resin01.mta.everyone.net> Bedankt voor de reacties. Het maakt duidelijk dat het niet kan en ik zoek ook niet verder. Het is niet essentieel voor waar ik mee bezig ben. Ik wil nog wel proberen uit te leggen wat dat is. Feitelijk ben ik sql-hobbyist en kom via sqlite by python terecht. Hiervoor bestaat een zeer volledige interface module, pysqlite2. Nu biedt sqlite sinds versie 3.3 (januari) een optie om zijn cache tussen meerdere database verbindingen te delen. Dit is maar bedoeld voor gebruik binnen een programma maar onder voorwaarden zijn wel meerdere threads mogelijk. Wat ik probeer is om deze optie vanuit meerder programma's te gebruiken, door deze via het netwerk en een gemeenschappelijk serverprocess te database te laten benaderen. Eigenlijk dus een heuse database server. In ieder geval gebruiken de programma's nu niet meer pysqlite maar een vervangende interface module, die via socket met de server verbindt. Het zou voor de programma's transparant moeten zijn of pysqlite, dan wel deze netwerk interface gebruikt wordt. Daarom moet ook op module nivo bepaalde attributen bekend zijn, zoals param_style en api_version. Deze zijn al voorgeschreven door de python dbapi en daar komen ook nog specifieke pysqlite attributen bij, zoals sqlite_version. Een toepassing kan dus zijn: from pysqlite2 import dbapi2 print dbapi2.sqlite_version Maar hoe moet dit nu in de vervangende module? Hier is de sqlite versie onbekend, totdat op zijn minst een verbinding is gelegd. Dit dacht ik aan te pakken met een property. Daar zou dan een actie achter kunnen zitten, misschien een interactie met het server-proces, om het gegeven te bepalen. Ik wil dat nog steeds proberen maar dan in de vorm van een oject met een __str__ methode. Alle suggesties en kritiek op deze aanpak zijn welkom. Edzard Pasma From mj at python.org Mon Jul 3 14:53:20 2006 From: mj at python.org (Martijn Pieters) Date: Mon, 03 Jul 2006 14:53:20 +0200 Subject: [python-nl] gebruik van propertyklasse In-Reply-To: <20060703053153.1F87CB75@resin01.mta.everyone.net> References: <20060703053153.1F87CB75@resin01.mta.everyone.net> Message-ID: <44A91340.2040205@python.org> Edzard Pasma wrote: > Maar hoe moet dit nu in de vervangende module? Hier is de sqlite > versie onbekend, totdat op zijn minst een verbinding is gelegd. Dit > dacht ik aan te pakken met een property. Daar zou dan een actie achter > kunnen zitten, misschien een interactie met het server-proces, om het > gegeven te bepalen. Ik wil dat nog steeds proberen maar dan in de vorm > van een oject met een __str__ methode. Alle suggesties en kritiek op > deze aanpak zijn welkom. The imported name need not be a module; it could just as well be a class. Just define it in the __init__.py of your module and have it be an instance of a class that'll use dynamic properties instead. Martijn Pieters From mj at python.org Mon Jul 3 15:04:25 2006 From: mj at python.org (Martijn Pieters) Date: Mon, 03 Jul 2006 15:04:25 +0200 Subject: [python-nl] gebruik van propertyklasse In-Reply-To: <44A91340.2040205@python.org> References: <20060703053153.1F87CB75@resin01.mta.everyone.net> <44A91340.2040205@python.org> Message-ID: <44A915D9.1060806@python.org> Martijn Pieters wrote: > The imported name need not be a module; it could just as well be a > class. Just define it in the __init__.py of your module and have it be > an instance of a class that'll use dynamic properties instead. Geen idee waarom ik dit in het Engels opschreef; mijn language centers zijn een beetje screwed hier op de EuroPython conference.. Mea culpa! De ge?morteerde naam hoeft niet perse een module te zijn; het kan net zo goed een class zijn. Je hoeft de naam slechts in de __init__.py te definieren, ik zou het een instance van een class maken waarop je dan properties gebruikt. Martijn Pieters From edzard at volcanomail.com Mon Jul 3 16:40:49 2006 From: edzard at volcanomail.com (Edzard Pasma) Date: Mon, 3 Jul 2006 07:40:49 -0700 Subject: [python-nl] gebruik van propertyklasse Message-ID: <20060703074049.C9844C89@resin06.mta.everyone.net> Bedankt, vertalen in nederlands overbodig zou ik zeggen. Het importeren van een class-instance is een prima aanpak. Het houdt de __builtins__ zuiver. Bij de unittests van pysqlite2 loop ik nog wel tegen een verschil in formulering aan: import pysqlite2.dbapi2 as sqlite moet worden from pysqlite2 import dbapi2 as sqlite Maar voor het gebruik van mijn experimentele module zal toch overal de import statement gewijzigd worden, dus geen probleem. Edzard Pasma --- mj at python.org wrote: From: Martijn Pieters To: Martijn Pieters CC: edzard at volcanomail.com, python-nl at python.org Subject: Re: [python-nl] gebruik van propertyklasse Date: Mon, 03 Jul 2006 15:04:25 +0200 Martijn Pieters wrote: > The imported name need not be a module; it could just as well be a > class. Just define it in the __init__.py of your module and have it be > an instance of a class that'll use dynamic properties instead. Geen idee waarom ik dit in het Engels opschreef; mijn language centers zijn een beetje screwed hier op de EuroPython conference.. Mea culpa! De ge?morteerde naam hoeft niet perse een module te zijn; het kan net zo goed een class zijn. Je hoeft de naam slechts in de __init__.py te definieren, ik zou het een instance van een class maken waarop je dan properties gebruikt. Martijn Pieters From mj at python.org Mon Jul 3 17:08:17 2006 From: mj at python.org (Martijn Pieters) Date: Mon, 03 Jul 2006 17:08:17 +0200 Subject: [python-nl] gebruik van propertyklasse In-Reply-To: <20060703074049.C9844C89@resin06.mta.everyone.net> References: <20060703074049.C9844C89@resin06.mta.everyone.net> Message-ID: <44A932E1.3000705@python.org> Edzard Pasma wrote: > Het importeren van een class-instance is een prima aanpak. Het houdt > de __builtins__ zuiver. Bij de unittests van pysqlite2 loop ik nog wel > tegen een verschil in formulering aan: > import pysqlite2.dbapi2 as sqlite > moet worden > from pysqlite2 import dbapi2 as sqlite > Maar voor het gebruik van mijn experimentele module zal toch overal > de import statement gewijzigd worden, dus geen probleem. De statements zijn functioneel gelijk. Houd er rekening mee dat in python 2.5, waar pysqlite2 wordt meegeleverd in de standaard library, dit 'sqlite3' wordt, want de onderliggende sqlite C-library is versie 3: import sqlite3 In mijn code die met python2.3, 2.4 en straks met 2.5 moet werken, gebruik ik de volgende code: try: import sqlite3 # Python 2.5 and up except ImportError: from pysqlite2 import dbapi2 as sqlite3 En dan gebruik ik verder sqlite3 ipv sqlite2 in de code. Martijn Pieters From krimble2000 at hotmail.com Mon Jul 17 16:03:02 2006 From: krimble2000 at hotmail.com (krimble) Date: Mon, 17 Jul 2006 07:03:02 -0700 (PDT) Subject: [python-nl] bug in python code Message-ID: <5361413.post@talk.nabble.com> [code]bestand = open('weer.txt', 'r') temperatuur = {} totaal = 0 lijst = [] lijstgroter = [] lijstkleiner = [] for line in bestand : if not line[0] == '#' : l = line.split() ## for calculating gemiddelde getallen = l[1] lijst.append(getallen) totaal += int(getallen) gemiddelde = totaal / len(lijst) temperatuur[l[0]] = l[1] ## if getal in l > gemiddelde then do something, else do something else if int(l[1]) >= gemiddelde : lijstgroter.append(l) elif int(l[1]) < gemiddelde : lijstkleiner.append(l) print "De gemiddelde temperatuur = " + str(gemiddelde) + " graden." + "\n \n" print "De steden met minstens de gemiddelde temperatuur: " + "\n" + str(lijstgroter) + "\n \n" print "De steden met een temperatuur onder het gemiddelde:" + "\n" + str(lijstkleiner) bestand.close()[/code] en de output is: De gemiddelde temperatuur = 15 graden. De steden met minstens de gemiddelde temperatuur: [['Athene', '19'], ['Istanbul', '19'], ['Las-Palmas', '17'], ['Lissabon', '18'], ['Mallorca', '14'], ['Marseille', '14'], ['Moskou', '16'], ['Rome', '15'], ['Bangkok', '37'], ['Curacao', '27'], ['Jakarta', '31'], ['Johannesburg', '17'], ['Los-Angeles', '15'], ['Mexico-Stad', '17'], ['Nairobi', '19'], ['Peking', '20'], ['Perth', '21'], ['Sydney', '20'], ['Tel-Aviv', '21']] De steden met een temperatuur onder het gemiddelde: [['Barcelona', '15'], ['Berlijn', '7'], ['Londen', '12'], ['Madrid', '6'], ['Milaan', '12'], ['Munchen', '6'], ['Parijs', '11'], ['Praag', '7'], ['Stockholm', '6'], ['Warschau', '8'], ['Wenen', '11'], ['Buenos-Aires', '9'], ['Chicago', '11'], ['New-York', '10'], ['Tokyo', '13'], ['Toronto', '5'], ['Vancouver', '14']] Wat niet klopt omdat in de eerste lijst ['Mallorca', '14'], ['Marseille', '14'] onder het gemiddelde zijn, deze 2 zouden dus eigenlijk in de onderste lijst moeten zitten. Weet iemand hoe dit kan ? Bedankt. -- View this message in context: http://www.nabble.com/bug-in-python-code-tf1954894.html#a5361413 Sent from the Python - python-nl forum at Nabble.com. From remco at gerlich.nl Mon Jul 17 16:14:39 2006 From: remco at gerlich.nl (Remco Gerlich) Date: Mon, 17 Jul 2006 16:14:39 +0200 Subject: [python-nl] bug in python code In-Reply-To: <5361413.post@talk.nabble.com> References: <5361413.post@talk.nabble.com> Message-ID: <44BB9B4F.8010301@gerlich.nl> Hoi, Op het eerste gezicht loop je maar 1x door de lijst heen. Dat betekent dat je gemiddelde telkens verandert; bij de 4e stad heb je het gemiddelde over de eerste vier steden, niet over alles. Het kan best dat die stad met 14 graden hoger is dan het gemiddelde tot dan toe. Dus: eerst gemiddelde berekenen, dan nog een keer door de lijst en opsplitsen. Omdat wij je nu met je huiswerk helpen, is hier de nieuwe opdracht: maak je oplossing beter door het werk in mooie functies als 'vind_gemiddelde' en 'splits_lijst' onder te verdelen, met de juiste argumenten, en het resultaat hier heen te sturen. Succes :-) Remco krimble wrote: >[code]bestand = open('weer.txt', 'r') > >temperatuur = {} >totaal = 0 >lijst = [] > >lijstgroter = [] >lijstkleiner = [] > >for line in bestand : > if not line[0] == '#' : > l = line.split() > > > ## for calculating gemiddelde > getallen = l[1] > lijst.append(getallen) > totaal += int(getallen) > gemiddelde = totaal / len(lijst) > > temperatuur[l[0]] = l[1] > > ## if getal in l > gemiddelde then do something, else do something >else > if int(l[1]) >= gemiddelde : > lijstgroter.append(l) > elif int(l[1]) < gemiddelde : > lijstkleiner.append(l) > >print "De gemiddelde temperatuur = " + str(gemiddelde) + " graden." + "\n >\n" >print "De steden met minstens de gemiddelde temperatuur: " + "\n" + >str(lijstgroter) + "\n \n" >print "De steden met een temperatuur onder het gemiddelde:" + "\n" + >str(lijstkleiner) > >bestand.close()[/code] > >en de output is: > >De gemiddelde temperatuur = 15 graden. > > >De steden met minstens de gemiddelde temperatuur: >[['Athene', '19'], ['Istanbul', '19'], ['Las-Palmas', '17'], ['Lissabon', >'18'], ['Mallorca', '14'], ['Marseille', '14'], ['Moskou', '16'], ['Rome', >'15'], ['Bangkok', '37'], ['Curacao', '27'], ['Jakarta', '31'], >['Johannesburg', '17'], ['Los-Angeles', '15'], ['Mexico-Stad', '17'], >['Nairobi', '19'], ['Peking', '20'], ['Perth', '21'], ['Sydney', '20'], >['Tel-Aviv', '21']] > > >De steden met een temperatuur onder het gemiddelde: >[['Barcelona', '15'], ['Berlijn', '7'], ['Londen', '12'], ['Madrid', '6'], >['Milaan', '12'], ['Munchen', '6'], ['Parijs', '11'], ['Praag', '7'], >['Stockholm', '6'], ['Warschau', '8'], ['Wenen', '11'], ['Buenos-Aires', >'9'], ['Chicago', '11'], ['New-York', '10'], ['Tokyo', '13'], ['Toronto', >'5'], ['Vancouver', '14']] > > >Wat niet klopt omdat in de eerste lijst ['Mallorca', '14'], ['Marseille', >'14'] onder het gemiddelde zijn, deze 2 zouden dus eigenlijk in de onderste >lijst moeten zitten. > >Weet iemand hoe dit kan ? > >Bedankt. > > From krimble2000 at hotmail.com Mon Jul 17 16:30:53 2006 From: krimble2000 at hotmail.com (krimble) Date: Mon, 17 Jul 2006 07:30:53 -0700 (PDT) Subject: [python-nl] bug in python code In-Reply-To: <44BB9B4F.8010301@gerlich.nl> References: <5361413.post@talk.nabble.com> <44BB9B4F.8010301@gerlich.nl> Message-ID: <5361884.post@talk.nabble.com> aaa bedankt, ja ik zal eens kijken ofdat met die functions lukt. Bedankt voor je snelle reply -- View this message in context: http://www.nabble.com/bug-in-python-code-tf1954894.html#a5361884 Sent from the Python - python-nl forum at Nabble.com. From krimble2000 at hotmail.com Mon Jul 17 16:30:53 2006 From: krimble2000 at hotmail.com (krimble) Date: Mon, 17 Jul 2006 07:30:53 -0700 (PDT) Subject: [python-nl] bug in python code In-Reply-To: <44BB9B4F.8010301@gerlich.nl> References: <5361413.post@talk.nabble.com> <44BB9B4F.8010301@gerlich.nl> Message-ID: <5361884.post@talk.nabble.com> aaa bedankt, ja ik zal eens kijken ofdat het met die functions lukt. Bedankt voor je snelle reply -- View this message in context: http://www.nabble.com/bug-in-python-code-tf1954894.html#a5361884 Sent from the Python - python-nl forum at Nabble.com.