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

行末記号は1 文字ではなく2文字です。

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 に答える