1
#-*-coding:utf8;-*-
#qpy:console
#qpy:2

import pickle
ifile=open("marks.dat", "wb")
l1=["stu1", "English", "87"]
l2=["stu2", "maths", "99"]
pickle.dump(l1, ifile)
pickle.dump(l2, ifile)
ifile.close()

ofile=open("marks.dat", "rb")
pickle.load(ofile)
pickle.load(ofile)
ofile.close()

前三行注释代码确保程序在 QPython 控制台模式下运行,并且正确执行输入和原始输入语句。

我在从使用代码创建的二进制文件中读取数据时遇到问题。这是错误消息:

IOError:[Errno 30] 只读文件系统:'marks.dat'

我不是一个有经验的程序员。请指教。

4

1 回答 1

0

尝试使用属性(附加)打开文件,如下所示:

ofile=open('marks.dat', 'a')

还要检查您的文件是否位于 qpython scripts 目录中。如果 Android 4.4(KitKat)他们对 SDCard 有写保护,谷歌为 SDFix 为 KitKat。

祝你好运。

于 2015-02-24T15:45:15.477 回答