Dou*_*gal 11 python macos python-3.x
我越来越
IOError: [Errno 22] Invalid argument
Run Code Online (Sandbox Code Playgroud)
当我尝试将大字节字符串写入磁盘时f.write(),其中f以模式打开wb.
我在网上看到很多人在使用Windows网络驱动器时遇到此错误,但是我在OSX上(当我最初提问时为10.7,但现在是10.8,使用标准的HFS +本地文件系统).我正在使用Python 3.2.2(发生在python.org二进制文件和自制软件安装).我没有看到系统Python 2.7.2的这个问题.
我也试过w+b基于这个Windows bug解决方法的模式,但当然这没有用.
数据来自一个大的numpy数组(几乎4GB的浮点数).如果我手动循环字符串并以块的形式写出它,它工作正常.但是因为我不能一次性写出所有内容np.save而np.savez失败 - 因为他们只是使用了f.write(ary.tostring()).当我尝试将其保存到现有的HDF5文件时,我收到类似的错误h5py.
请注意,在阅读打开的文件时遇到同样的问题file(filename, 'rb'):f.read()给出这个IOError,同时f.read(chunk_size)为了合理的chunk_size工作.
有什么想法吗?
这似乎是fread/fwrite的一般OSX错误,所以Python用户无法真正解决这个问题.看到numpy#3858,这个火炬7提交,这个问题/答案,....
据说它已在小牛队中得到修复,但我仍然看到了这个问题.
Python 2可能已经解决了这个问题,或者它的io模块可能总是缓冲大量读/写; 我没有彻底调查过.
| 归档时间: |
|
| 查看次数: |
9965 次 |
| 最近记录: |