Python: цикл, выполняющий одно и то же для одного элемента n раз, в отличие от одного раза для n элементов - PullRequest
4 голосов
/ 18 августа 2011

Вот пример: Я пытаюсь получить серию страниц XML, а затем извлечь из них данные.

Он загружает каждую отдельную страницу, как было задумано для цикла while, но функция tester () печатает данные из первого загружаемого файла V раз, несмотря на то, что загружает и очищает файл после каждого повторного цикла.

Это убивает меня, что я делаю не так?

def tester():
    with open('raw.txt') as myFile:
        test = linecache.getline('raw.txt', 12)
        print test
        test = ""
        myFile.close

def grab_data(Year, rcvote):
    link = "XXX/%s/roll%s.xml" % (Year, rc)
    site = urllib2.urlopen(link)
    localFile = open('raw.txt', 'w')
    localFile.write(site.read(100000))
    localFile.close()
    tester()


while (V !=0):
    rc = str(V)
    if (len(rc) == 2):
        rc = "0%s" % (rc)
    elif (len(rc) == 1):
        rc = "00%s" % (rc)
    else:
        rc = rc
    grab_data(Year, rc)
    V = V - 1

1 Ответ

3 голосов
/ 18 августа 2011

Проблема в модуле linecache.Предполагается, что файлы с одинаковыми именами одинаковы.

Но зачем в любом случае записывать данные в файл, чтобы снова его прочитать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...