Python - SyntaxError:无法分配给文字

时间:2015-11-16 00:24:38

标签: python

我想从文件中读取变量(它们是链接),然后在while循环中用urlopen打开它们,以便打开每个链接。

我的代码是:

   # 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'

1 个答案:

答案 0 :(得分:6)

错误告诉您错误是什么。您无法分配文字。 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] );