1

我有一个包含 html/doc 文件列表的 txt 文件,我想使用 python 下载它们并将它们保存为 1.html、2.doc、3.doc、...

http://example.com/kran.doc
http://example.com/loj.doc
http://example.com/sks.html

我已经设法创建了功能齐全的脚本,除了 python 总是会在新创建的文件的末尾添加问号(如果你从 linux 看),如果你从 windows 看,文件名将类似于5CFB43~X

import urllib2
st = 1;
for line in open('links.txt', 'r'):
        u = urllib2.urlopen(line)
        ext = line.split(".")
        imagefile = str(st)+"."+ext[-1]
        #file created should be something.doc but its something.doc? -> notice question mark
        fajl = open(imagefile, "w+")
        fajl.write(u.read())
        fajl.close()
        print imagefile
        st += 1
4

3 回答 3

1

行终止符是两个字符,而不是一个。

for line in open('links.txt', 'rU'):

但现在不是了。

于 2012-04-30T08:24:35.393 回答
1

工作line.strip()而不是line

于 2012-04-30T08:28:03.933 回答
-1

那是因为以这种方式读取的行将'\n'在最后结束,因此?

只需在循环的开头添加以下内容:

if line.endswith('\n'):
    line = line[:-1]

或者正如 AKX 在评论中指出的那样,只是:

line = line.rstrip('\r\n')

所以你涵盖了任何类型的行尾。

于 2012-04-30T08:26:22.197 回答