使用urlretrieve后关闭ftp连接

时间:2017-04-03 07:44:22

标签: python urllib six urlretrieve

def new(file):
    file = "/.../Restaurants.txt"
    d = {}
    key = []
    with open(file) as file:
        lines = file.readlines()

    for i in range(len(lines)):
        if i % 5 == 0:
            if "," not in lines[i + 3]:
                d[lines[i + 3].strip()] = [lines[i].strip()]
            else:
                key += (lines[i + 3].strip().split(', '))
                for j in key:
                    if j not in d:
                        d[j] = [lines[i].strip()]
                    else:
                        d[j].append(lines[i].strip())
    return d

使用urlretrieve之后是否需要关闭ftp连接?如果是,那怎么办?

1 个答案:

答案 0 :(得分:3)

不,urlretrieve会为你做到这一点。如果您使用的是urlopen,则应该/可以关闭连接(请参阅this question),但是urlretrieve可以将此四个作为一个方便的包装器处理。

在内部,urlretrieve使用URLOpener实例,当其引用计数降至0(close调用结束时)调用urlretrieve