Ich benutze den ersten Beispiel-Code aus traitsui Dokumentation:Zug mit configure_traits Beizen
from traits.api import HasTraits, Str, Int
import traitsui
class SimpleEmployee(HasTraits):
first_name = Str
last_name = Str
department = Str
employee_number = Str
salary = Int
sam = SimpleEmployee()
sam.configure_traits(filename='/Volumes/FAT/Python/Tests/test.dat')
Die einzige Änderung ist, eine Dateinamen-Spezifikation in configure_traits().
1 - Wenn die Datei nicht existiert, wird keine neue Datei erstellt. Es wäre schön, ein solches Verhalten zu haben.
2 - Wie erstelle ich diese Datei? Mit
import pickle
pickle.dump(sam, open('/Volumes/FAT/Python/Tests/test.dat', "wb"))
erstellt die Datei
ctraits.traits
__newobj__
p0
(c__main__
SimpleEmployee
p1
tp2
Rp3
(dp4
S'salary'
p5
I0
sS'__traits_version__'
p6
S'4.5.0'
p7
sS'first_name'
p8
S''
p9
sS'last_name'
p10
g9
sS'employee_number'
p11
g9
sS'department'
p12
VManagement
p13
sb.
mit 'Management' als Abteilung (I diesen Wert im Dialog eingegeben, natürlich).
Aber wieder
sam.configure_traits(filename='/Volumes/FAT/Python/Tests/test.dat')
läuft die Abteilung Feld ändern und OK klicken, um den Dialog zu schließen, den Dateiinhalt nicht ändert (wie es von der doc tun sollte).
(MacOS X)