Spero di ricevere un piccolo consiglio sugli scaffali/database in Python.Utilizzo di python shelve multipiattaforma
Problema: Ho un database creato su Mac, che voglio usare su Windows 7. io uso Python 3.2, MacOS 10.7, e vincere 7.
Quando apro e salvare il mio ripiano sul Mac tutto va bene e bene. Ricevo un file con estensione ".db". Sul mio windows-python non è riconosciuto. Posso comunque creare un nuovo db sul pc e ottenere file con estensioni ".bak, dat, .dir".
Sto immaginando che il python sul pc non abbia lo stesso database sottostante che il mio mac-python usa?
io non sono sicuro di quale è l'approccio corretto qui, ma forse potrei:
Cambiare il default-db che i miei sistemi usa? Scopri quale db my mac-python usa e aggiungilo sul pc? Cambia il modo in cui memorizzo i miei dati tutti insieme?
La velocità non è un problema, il datasize è di pochi megabyte e non è accessibile molto spesso.
Spero di trovare una mano d'aiuto. Grazie in anticipo, ogni aiuto è molto apprezzato.
/Esben
Quello che sto facendo:
Import shelve
db = shelve.open('mydb')
entries = db['list']
db.close
E 'piuttosto semplice, ho un db-file di lavoro chiamato "mydb.db" su Mac, ma quando provo ad aprirlo sul pc-python ottengo:
Traceback (chiamata più recente scorso): File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/dbm/ init .py" , riga 107, in cui db f = io.open (nomefile + ".pag", "rb") IOError: [Errno 2] Nessun file o directory di questo tipo: 'mydb.pag'
Cosa intendi quando dici che non è riconosciuto su Windows? Come stai tentando di aprire il file? Puoi mostrare qualche codice di esempio? –