Python urlretrieve在文件扩展名后使用'\ r \ n'保存文件

时间:2014-01-23 16:59:54

标签: python

我有一个快速脚本,通过迭代带有URL的.txt文件来下载文件。例如,.txt文件中包含www.foo.com/foo/foo/foo.pdf等网址。

这是脚本:

URLS = open("urlfile.txt").readlines()

for url in URLS:
    filename = url.split('/')[-1]
    try:
        urlretrieve(url, filename)
        print "Successful download: %s" % filename
    except:
        print "Error downloading %s" % filename

我有一个包含所有文件的文件夹后,我试图用另一个脚本操作它们,并注意到在排除故障后,它们都有\r\n的扩展名。如果我ls终端中的文件夹显示为example.pdf??,如果我在Python终端中列出它,则显示为example.pdf\r\n

为什么会发生这种情况,以后如何避免这种情况发生?

1 个答案:

答案 0 :(得分:2)

由于txt文件中每行末尾的返回字符,可能会发生这种情况。请尝试剥离返回字符

filename = url.rstrip().split('/')[-1]