我在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')
答案 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()