在pickle中存储数据时出现IO错误

时间:2011-03-12 20:11:48

标签: python pickle

我在python中有以下代码将数据存储在pickle中,但我收到了IO错误

[Errno 13] Permission denied: 'data.pkl'

代码

def SaveUserData(request):
       datalist={}
       datalist['empid']='127113'
       datalist['empname']='eric'
       datalist['empphone']='66335500'
       datalist['email']='eric.pk@moliba.com'
       output = open('data.pkl', 'wb')
       pickle.dump(datalist, output)
       output.close()
       data = simplejson.dumps(datalist, indent=4)
       return HttpResponse(data,mimetype='application/javascript')

3 个答案:

答案 0 :(得分:6)

我分配了绝对路径&它工作!!

output = open('/home/user/test/wsservice/data.pkl', 'wb')

答案 1 :(得分:1)

我在Python 3.4中注意到你可以这样做:
output = open(str(dataList), "wb")

答案 2 :(得分:1)

在我的情况下,这是我当前目录的问题。

我添加了以下行来将当前工作目录设置为我的脚本目录。

希望如果写入脚本目录不需要管理员权限,这将解决问题。

import sys, os

def getScriptPath():
    return os.path.dirname(os.path.realpath(sys.argv[0]))

print 'Current working directory : ', os.getcwd()
os.chdir(getScriptPath())
print 'Changed working directory : ', os.getcwd()