[Python] Geen dir() in mod_python?

Pagina: 1
Acties:

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025
Ik heb net mod_python geinstalleerd. Ik heb veel ervaring met PHP, maar wil nu eens een andere taal gaan leren, en liefst wil ik een beetje beginnen met web-appjes omdat ik daar het meeste ervaring mee heb. Nu heb ik mod_python (3.1.3) werkend gekregen, maar de built-in functie dir() geeft niets terug. Hoe kan dat?

Rustacean


  • PommeFritz
  • Registratie: Augustus 2001
  • Laatst online: 24-11-2025

PommeFritz

...geen friet

Wat had je verwacht dat ie terug zou geven?
Plaats eens wat code...

FireFox - neem het web in eigen hand


  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025
modtest.py:
code:
1
2
3
4
5
6
7
8
9
from mod_python import apache

def handler(req):

    req.write("Hello World!")

    print dir(req)

    return apache.OK


.htaccess:
code:
1
2
3
AddHandler mod_python .py
PythonHandler modtest
PythonDebug On


Heb het ook geprobeerd met for i in dir(), maar dat helpt niet.

[ Voor 15% gewijzigd door djc op 15-04-2004 20:35 ]

Rustacean


  • Alex
  • Registratie: Juli 2001
  • Laatst online: 28-02 19:26
Heb je de manual helemaal gelezen:
dir( [object])
Without arguments, return the list of names in the current local symbol table. With an argument, attempts to return a list of valid attributes for that object. This information is gleaned from the object's __dict__ attribute, if defined, and from the class or type object. The list is not necessarily complete. If the object is a module object, the list contains the names of the module's attributes. If the object is a type or class object, the list contains the names of its attributes, and recursively of the attributes of its bases. Otherwise, the list contains the object's attributes' names, the names of its class's attributes, and recursively of the attributes of its class's base classes. The resulting list is sorted alphabetically. For example:

>>> import struct
>>> dir()
['__builtins__', '__doc__', '__name__', 'struct']
>>> dir(struct)
['__doc__', '__name__', 'calcsize', 'error', 'pack', 'unpack']

Note: Because dir() is supplied primarily as a convenience for use at an interactive prompt, it tries to supply an interesting set of names more than it tries to supply a rigorously or consistently defined set of names, and its detailed behavior may change across releases.

[ Voor 18% gewijzigd door Alex op 15-04-2004 20:44 . Reden: [code]-verpestte de layout nogal :P ]

Deze post is bestemd voor hen die een tegenwoordige tijd kunnen onderscheiden van een toekomstige halfvoorwaardelijke bepaalde subinverte plagiale aanvoegend intentioneel verleden tijd.
- Giphart


  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025
Ik krijg echter zelfs geen lege list terug, wat me toch logischer lijkt als er niets boeiends te melden is...

Rustacean


  • PommeFritz
  • Registratie: Augustus 2001
  • Laatst online: 24-11-2025

PommeFritz

...geen friet

[quote]Manuzhai schreef op 15 april 2004 @ 20:35:
code:
1
2
3
4
def handler(req):
    req.write("Hello World!")
    print dir(req)
    return apache.OK
Tja, met req.write schrijf je zooi naar je response bericht (=page output). De print die er onder staat dumpt z'n resultaat naar de standard output, en kennelijk is dat niet hetzelfde als je response bericht ;)
Probeer eens req.write(str(dir(req))) ipv het print statement...
En check even je server log (of weet ik veel waar mod_python normaal gesproken zijn stdout/stderr heen logt)...

edit: oh, vergeet niet de boel te HTML-escapen,:
code:
1
2
3
4
5
import cgi
...
result = cgi.escape(str(dir(req)), True)
req.write(result)
...

[ Voor 13% gewijzigd door PommeFritz op 15-04-2004 23:42 ]

FireFox - neem het web in eigen hand


  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025
Je hebt natuurlijk volkomen gelijk. :D Damn, wat dom.

Rustacean


  • PommeFritz
  • Registratie: Augustus 2001
  • Laatst online: 24-11-2025

PommeFritz

...geen friet

Manuzhai schreef op 16 april 2004 @ 09:13:
Je hebt natuurlijk volkomen gelijk. :D Damn, wat dom.
:P hoe dan ook, als je mod_python wilt gebruiken om met Python je web sites op te gaan zetten, is het misschien verstandig om de 'normale' versie van Python ook te installeren. Het is daarmee veel makkelijker om Python zelf te leren. mod_python is in feite de plugin voor Apache...

FireFox - neem het web in eigen hand


  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025
Dat snap ik, ik heb ook een normale Python geinstalleerd. :)

Rustacean

Pagina: 1