2015-11-16 2 views
-4

Я хочу прочитать из файла переменные (они являются ссылками), а затем открыть их с помощью urlopen в цикле while, чтобы каждая ссылка была открыта.Python - SyntaxError: нельзя назначить буквалю

Мой код:

# Variables 
    from config import * 

    # Imports 
    import urllib 


    i = 0 
    url = 100 
    while i < 25: 
     page = urllib.urlopen(url); 
     page.close(); 
     i = i + 1 
     url = 100 
     url = url + i 

Ошибка я получаю SyntaxError: can't assign to literal. Я понимаю, почему, но я не знаю, как обойти его!

config.py

100 = 'https:link' 
101 = 'https:link' 
102 = 'https:link' 
+2

Ваша проблема заключается в 'config.py' (или какой-то переходный включения). Скорее всего, что-то вроде '42 = answer'. – kay

+0

Я обновил конфигурационный файл, но я не понимаю, что вы имеете в виду! – EmbargoLacuna

ответ

5

ошибка говорит вам именно то, что ошибка. Вы не можете назначить литерал. 100 является буквальным, потому что буквально имеет значение 100. Ваш config.py пытается изменить значение целого 100.

Если вы пытаетесь перебирать список переменных или значений, начиная с 100, один решением было бы создать словарь и использовать номера для ключей. Например:

# config.py 
urls = { 
    100: "https:link", 
    101: "https:link", 
    102: "https:link" 
} 

Затем, в вашем коде вы можете сделать что-то вроде этого:

i = 0 
while i < 25: 
    url_number = 100 + i 
    page = urllib.urlopen(urls[url_number]); 
+0

Но это то, что я хочу сделать: D, так как мне нужно сделать это тогда? PS. Я ноб на питоне и на всех других языках программирования, у меня просто есть общие знания! – EmbargoLacuna

+1

Полностью оффтоп: [как изменить значение чисел в CPython] (http://codegolf.stackexchange.com/a/28851/1688). Не пытайтесь дома :) – kay

+0

спасибо! Это решетка – EmbargoLacuna

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