bei einer undefinierten variable soll erstmal kein NameError geraist werden, sondern eine andere quelle (ausser dem namespace) nach der variable gefragt werden.
wie implementiere ich sowas?
danke
NameError uebreschreiben
So zum Beispiel:
Code: Alles auswählen
try:
var = unknown
except NameError:
var = somewhere.var
man soll eine variable, die in einem prozess ist auf einem anderen prozess uebrtragen koennen
hier etwas pseudo code
und dann:
hier etwas pseudo code
Code: Alles auswählen
def on_name_error(varname):
mysocket.send('GIMMI: ' + varname)
resp = mysocket.recv(1024*5)
return marshal.loads(resp)
Code: Alles auswählen
if os.fork():
enable_server()
myvar = 2
else:
sleep(1)
enable_client()
print myvar
cp != mv
Lokale und globale Variablen werden intern in dict-Objekten gespeichert. Da kann man auch eigene dict-artige Objekte benutzen, die sich anders verhalten. Dort wo `return 42` steht, könntest auch IPC stattfinden.
Stefan
Code: Alles auswählen
class d(dict):
def __getitem__(self, name):
try: return dict.__getitem__(self, name)
except KeyError: return 42
exec "print a + b" in d(a=3)