Это тест. Я выделил длину этих имен файлов и объединил имена и шестнадцатеричные длины вместе. В этом порядке (Длина, Имя). Теперь я пытаюсь прочитать файл, используя этот код,Объект для цикла пустой после первого цикла
import binascii
test = ('TEST_.txt')
with open(test, 'rb') as infile_:
infile_read = infile_.read()
start = (0)
for files in range(0, 20):
name_len = infile_read[(start) : ((start) + (2))]
name_len = int.from_bytes((name_len), byteorder='big')
file_name = infile_read[((start) + (2)) : ((name_len) + (2))]
print(name_len)
print(file_name)
start = ((start) + (name_len) + (2))
текстовый файл,
"TEST_.txt" Ь '\ x00 \ ntest_0.png \ x00 \ ntest_1.png \ x00 \ ntest_2 .png \ x00 \ ntest_3.png \ x00 \ ntest_4.png \ x00 \ ntest_5.png \ x00 \ ntest_6.png \ x00 \ ntest_7.png \ x00 \ ntest_8.png \ x00 \ ntest_9.png \ x00 \ x0btest_10.png \ x00 \ x0btest_11.png \ x00 \ x0btest_12.png \ x00 \ x0btest_13.png \ x00 \ x0btest_14.png \ x00 \ x0btest_15.png \ x00 \ x0btest_16.png \ x00 \ x0btest_17.png \ x00 \ x0btest_18.png \ x00 \ x0btest_19.png \ x00 \ x0btest_20.png '
возвращает это,
>>>10
>>>b'test_0.png'
>>>10
>>>b''
>>>10
>>>b''
...
я не буду его вернуть это,
>>>10
>>>b'test_0.png'
>>>10
>>>b'test_1.png'
>>>10
>>>b'test_2.png'
...
Длины печати правильно, но имена печатать только один раз. Почему это?
Нет такой подход должен быть я определен. Никакой другой способ не будет работать на то, что я делаю. –