我正在为 Blender 编写一个直接 x 导入器,以便能够打开 ascii .x 文件。为此,我尝试制作一个好的 Python 脚本。我对它很陌生,实际上我才刚开始,但得到了很好的结果,除了一个奇怪的......嗯......问题:我的 .x 文件非常大,正好有 3 263 453 字节长。我不会把我的整个代码放在这里,只是一些解决方法,所以问题仍然可见,并且在控制台中。
>>> teszt = open('d:\DRA_ACTORDEF_T0.x','rt')
>>> teszt
<_io.TextIOWrapper name='d:\\DRA_ACTORDEF_T0.x' mode='rt' encoding='cp1250'>
然后我阅读了文件:
>>> t2 = teszt.readlines()
>>> len(t2)
39768
但话又说回来,当我验证时:
>>> import os
>>> os.fstat(teszt.fileno()).st_size
3263453
谁能帮我一把,告诉我,问题是什么?也许我要设置缓冲区大小等?不知道这在 Python 中是如何工作的。
我以与上述相同的方式打开文件,然后使用.readline()
.
非常感谢。
编辑:
代码简化了。我需要.readline()
。
fajlnev = 'd:\DRA_ACTORDEF_T0.x'
import bpy
import os
fajl = open(fajlnev, 'rt')
fajl_teljes_merete = os.fstat(fajl.fileno()).st_size
while (fajl.tell() < fajl_teljes_merete):
print(fajl.tell(),fajl.readline())