python超过4G的文件怎样打印到打印机
大家好,最近遇到个问题,发现大于3.99G的16进制文件,也就是大于4G的16进制文件在发送到打印机的这一步提示内存错误,请问各位有没有什么办法解决呢?目前小于等于3.99G的文件我可以正常查找修改替换操作并打印到打印机,就这超过4G的文件让人头疼,希望有高手能解决 4 GB 是 32 位内存可寻址的极限。如果超过,自然会有问题。在 Linux 下,有一系列函数,是专门应对超过 4 GB 大文件的,对于 Python 而言,解决方案是不要一次就读取整个文件内容,应该按一个相对固定的大小分多次进行读取。
难道这个二进制文件不按记录存放吗,如果是按记录存放,那就可以按每次读取一个记录,循环读取,直到文件结束。 jackz007 发表于 2021-11-14 14:57
4 GB 是 32 位内存可寻址的极限。如果超过,自然会有问题。
在 Linux 下,有一系列函数, ...
我的python是64位的,目前4G的大文件我直接读入后修改替换再写出到文件这一系列动作都可以,只是占用内存很大,但还是能正常写出到文件,但是我要将超过4G的文件不写出文件而是直接将修改后的数据直接发送到打印机就会出现内存错误,至于你说的逐行读取写出我也试过,它写到文件倒是可以追加到一个文件,但是要逐行打印到打印机它就成多个打印任务了,如果你可以的话麻烦给个例子可以吗?谢谢 cxnet 发表于 2021-11-14 17:57
我的python是64位的,目前4G的大文件我直接读入后修改替换再写出到文件这一系列动作都可以,只是占用内存 ...
用循环啊,边读边打,怎么就成多任务了?
你的文件是文本文件? 具体内存错误是什么内存错误?有报错信息吗?是不是打印机的问题(手动打印能不能打印超过4G的文件)? jackz007 发表于 2021-11-14 18:45
用循环啊,边读边打,怎么就成多任务了?
你的文件是文本文件?
是普通软件打印到打印机的spl数据文件,在C:\Windows\System32\spool\PRINTERS这个文件夹里可以看到,你随便搞个4G大小的文件试试呢,这文件太大不好上传{:5_97:} hrpzcf 发表于 2021-11-14 18:59
具体内存错误是什么内存错误?有报错信息吗?是不是打印机的问题(手动打印能不能打印超过4G的文件)?
ValueError: Buffer length can be at most -1 characters {:10_256:}
页:
[1]