泡菜

2012-06-02 59 views
0

我试着通过出于某种原因,我没有看到该文件是created..under C到存储在一个平面文件列表:\ python27 \基础\ db.txt泡菜

这里是我的代码:

make_db_pickle.py

from Basics import data 
import pickle 

db = data.people 

dbfilename = 'c:\python27\Basics\db.txt' 

try: 
    dbfile = open('dbfilename','wb') 
except IOError as (errno,strerror): 
    print "I/O error({0}): {1}".format(errno, strerror) 
except ValueError: 
    print "Could not convert data to an integer." 
except: 
    print "Unexpected Error", sys.exc_info() [0] 

pickle.dump(db,dbfile) 
dbfile.close() 

data.py

bob={'name':'bobs mith','age':42,'salary':5000,'job':'software'} 
sue={'name':'sue more','age':30,'salary':3000,'job':'hardware'} 

people={} 
people['bob'] = bob 
people['sue'] = sue 
+2

''c:\ python27 \ Basics \ db.txt''呃。不要这样做。 :(使用原始字符串或正确的转义有一天,你会对路径做一些小的修改(比如将文件名改为'test.txt'),并想知道为什么它停止工作。 –

回答

5

你以为文件“C:\ python27 \基础\ db.txt'被创建?当你打开时,你给它一个'dbfilename'的文件名。我不认为你想在那里报价。检查文件是否正在创建,但在与运行脚本的位置相同的目录中,并且位于文件名“dbfilename”下。因此,如果您在'C:\ MyStuff'下运行此脚本,请检查文件'C:\ MyStuff \ dbfilename'。