Форум сайта python.su
14
Ты все-таки проверь. Комадну я дал.
Офлайн
0
Офлайн
857
>>> n = 0 >>> with open('/etc/passwd') as fin: ... for line in fin: ... n += 1 ... >>> n 38 >>>
Офлайн
0
MozartУ меня была такая же проблема пока в конце не указал закрытие файла.
Есть файл, в нем 8 миллионов записей, проблема в том, что ни file.read() ни file.readlines() не позволяют мне прочитать из файла большее 1 090 000 строк (т.е. в 8 раз меньше)Вот 1 из примеров кода:
f = open('my_file', 'w') f.write('Hello, ') f.write('World!') f.close() # объязательно указать
Отредактировано cutwater (Янв. 14, 2013 15:04:43)
Офлайн
0
Mozart
Есть файл, в нем 8 миллионов записей, проблема в том, что ни file.read() ни file.readlines() не позволяют мне прочитать из файла большее 1 090 000 строк (т.е. в 8 раз меньше)Вот 1 из примеров кода:
input_file = open('msde.log', 'r') output_file = open('output.log', 'w') download_line = [] #create masiv #postrochno zapisivaem v pamiat' kk = 0 for line in input_file: download_line.append(line) kk += 1 # zapis v file n = 0 for line in download_line: output_file.write(line) n += 1 k = input_file.readline() print 'in --', len(k), 'in --', kk, 'out --', n input_file.close() output_file.close()
Отредактировано cutwater (Янв. 14, 2013 15:05:10)
Офлайн
0
shoikЯ понял. что так делать нельзя но не почему объясните пожалуйста.
input_file = open('msde.log', 'r') output_file = open('output.log', 'w') download_line = [] k = input_file.readlines() kk = 0 for line in k: download_line.append(line) kk += 1 n = 0 for line in download_line: output_file.write(line) n += 1 print 'in --', len(k), "in --", kk, 'out --', n input_file.close() output_file.close()
Отредактировано cutwater (Янв. 14, 2013 15:06:21)
Офлайн