Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 20dfb4b

Browse files
committed
adicionando novos exemplos
1 parent 448c615 commit 20dfb4b

File tree

10 files changed

+96
-0
lines changed

10 files changed

+96
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from make_db_file import loadDatabase
2+
3+
db = loadDatabase()
4+
for key in db:
5+
print(key, '=>', db[key])
6+
print()
7+
print(db['sue']['name'])
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import pickle
2+
3+
4+
dbfile = open('people-pickle', 'rb') # uso mode binario de arquivos em py3...
5+
db = pickle.load(dbfile)
6+
7+
for key in db:
8+
print(key, '->\n', db[key])
9+
print(db['sue']['name'])
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
bob = {'name': 'bob smith', 'age': 42, 'pay': 30000, 'job': 'dev'}
2+
sue = {'name': 'sue jones', 'age': 45, 'pay': 40000, 'job': 'hdw'}
3+
tom = {'name': 'tom', 'age': 50, 'pay': 0, 'job': None}
4+
5+
6+
# datebase
7+
db = {}
8+
db['bob'] = bob
9+
db['sue'] = sue
10+
db['tom'] = tom
11+
12+
if __name__ == '__main__':
13+
for key in db:
14+
print(' ', key, '=>\n\t', db[key])
15+
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
dbFileName = 'people-file'
2+
ENDDB = 'enddb'
3+
ENDREC = 'endrec'
4+
RECSEP = '=>'
5+
6+
def storeDatabase(db, dbFileName = dbFileName):
7+
dbfile = open(dbFileName, 'w')
8+
for key in db:
9+
print(key, file=dbfile)
10+
for (name, value) in db[key].items():
11+
print(name + RECSEP + repr(value), file=dbfile)
12+
print(ENDREC, file=dbfile)
13+
print(ENDDB, file=dbfile)
14+
dbfile.close()
15+
16+
def loadDatabase(dbFileName=dbFileName):
17+
dbfile = open(dbFileName)
18+
import sys
19+
sys.stdin = dbfile
20+
db = {}
21+
key = input()
22+
23+
while key != ENDDB:
24+
rec = {}
25+
field = input()
26+
while field != ENDREC:
27+
name, value = field.split(RECSEP)
28+
rec[name] = eval(value)
29+
field = input()
30+
31+
db[key] = rec
32+
key = input()
33+
return db
34+
35+
if __name__ == '__main__':
36+
from initdata import db
37+
storeDatabase(db)
38+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
from initdata import db
2+
import pickle
3+
4+
5+
6+
dbfile = open('people-pickle', 'wb')
7+
pickle.dump(db, dbfile)
8+
dbfile.close()

‎1-chapter-aSneakPreview/2-step2-storingRecordsPersistently/2-usingPickleFiles/people-file

Whitespace-only changes.

‎1-chapter-aSneakPreview/2-step2-storingRecordsPersistently/2-usingPickleFiles/people-pickle

Whitespace-only changes.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from make_db_file import loadDatabase, storeDatabase
2+
db = loadDatabase()
3+
db['sue']['pay'] *= 1.10
4+
db['tom']['name'] = 'tom tolis'
5+
storeDatabase(db)
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import pickle
2+
3+
4+
dbfile = open('people-pickle', 'rb')
5+
db = pickle.load(dbfile)
6+
dbfile.close()
7+
8+
db['sue']['pay'] *= 1.10
9+
db['tom']['name'] = 'tolis'
10+
11+
12+
dbfile = open('people-pickle', 'wb')
13+
pickle.dumb(db, dbfile)
14+
dbfile.close()

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /