Я пишу программу, которая принимает несколько строк кода. На данный момент я обрабатываю каждую строку отдельно -> по мере поступления каждой строки я удаляю ее, сохраняю и т. д., прежде чем запрашивать следующую строку с помощью метода sys.stdin.readline(). Мне было интересно, есть ли способ повысить мою эффективность, поскольку моя программа в настоящее время слишком медленная. Быстрее ли просто взять все строки сразу (я знаю, сколько строк я ожидаю), сохранить их в списке, а затем обработать? Если да, то есть ли какая-либо встроенная функция, рассчитанная на скорость и способная делать это эффективно?
Спасибо
readline
(или, если вы хотите быть более идиоматичным,next
). Чтение файла использует буфер и выполняет ввод-вывод только тогда, когда он доходит до конца буфера. Маловероятно, чтоreadline
является вашей реальной проблемой. Но, ничего не зная о вашей программе, трудно сказать что-то еще. - person abarnert   schedule 24.01.2013timeit
для сравнения двух. Тогда вы будете точно знать, что быстрее, что намного полезнее, чем знать, что какой-то парень в Интернете подозревает, что один может быть быстрее другого. - person abarnert   schedule 24.01.2013