我有一个带有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
答案 0 :(得分:1)
行终止符是两个字符,而不是一个。
for line in open('links.txt', 'rU'):
但现在不行了。
答案 1 :(得分:1)
使用line.strip()
代替line
答案 2 :(得分:-1)
这是因为以这种方式阅读的行最后会以'\n'
结尾,因此?
只需在循环开头添加以下内容:
if line.endswith('\n'):
line = line[:-1]
正如AKX在评论中指出的那样,只是:
line = line.rstrip('\r\n')
所以你涵盖任何类型的结尾。