为什么我的代码会一直停止?

Max*_*355 1 python urllib python-2.7

我制作了一个Python脚本,它读取文本文件然后转到URL,并将文本文件中的扩展名添加到URL.问题是脚本在读完文件之前一直停止.我无法弄清楚为什么.

import urllib
f = open("extension/1.txt", 'r')

for x in f.readline():    
    a = f.readline()
    url = "http://www.link.com/whatever/%s" % a
    print url
    urllib.urlretrieve(url, a) 
Run Code Online (Sandbox Code Playgroud)

bos*_*ter 6

通过调用for x in f.readline():,您将通过该string文件的第一行作为可迭代,然后为第一行中的每个字符抓取一个新行a = f.readline().我不认为这是你的意图.

file对象f本身是可迭代的,因此您可以简单地执行以下操作:

for line in f:
    value = line.rstrip('\n')
    url = "http://www.link.com/whatever/%s" % value
    print url
    urllib.urlretrieve(url, value)  # Not sure why you want to send value (your a) here
Run Code Online (Sandbox Code Playgroud)

  • 为了澄清@ Max00355,我们并未完全"同意"@GrantVS.正如我所提到的,它实际上并不是为迭代的每个循环读取2行,而是将第一行读入"x"然后为"x"的每个字符读取**一行**. (2认同)