2015-08-11 3 views
-1

В настоящее время мой код настроен с несколькими функциями чтения из одного файла. Я попытался упростить вещи, используя глобальный указатель на файл, но без успеха:Глобальный указатель файла?

file = open('filename') 

def A(): 
    global file 
    line = file.readline() 
    ... 
    B() 
    ... 
    line = file.readline() 

def B(): 
    global file 
    line = file.readline() 
    ... 

В приведенном выше примере, моя цель состоит в том, чтобы прочитать несколько строк с А, прочитал несколько строк с B, а затем Возьмите, откуда B остановился. Однако вызов readline() в A остается в исходном месте. Для чего я пытаюсь сделать это, можно ли использовать глобальные переменные?

+3

Это отлично работает для меня. Можете ли вы показать фактический пример, демонстрирующий проблему? – BrenBarn

+3

Итак, вы говорите, что если * filename * является трехстрочным файлом, 'A' читает первую строку,' B' читает вторую строку, а затем 'A' снова считывает вторую строку, а не читает третья строка? Я считаю, что трудно поверить. (Кроме того, похоже, что что-то не мешает вам просто передавать переменную 'file' в качестве параметра для каждой из этих функций. * Это * будет« упрощать ».) –

+3

Я могу подтвердить, что это не то, что произойдет, вы можете показать свой фактический код и ввод? Что-то еще должно происходить. – SuperBiasedMan

ответ

-2

Если вам нужно указать и установить свою позицию в файл, используйте file.seek() и file.tell()

Для получения дополнительной помощи, пожалуйста, положить в полном примере, поэтому мы можем видеть ваши фактические вопрос. Для меня он переносит позицию файла в python 3.4.3 на окна 7.

Смежные вопросы