2016-11-02 13 views
0

[OK]をので、私はこのプログラムを実行するために全力をしようとしている、と私は、この機能は問題とValueError:不明なURLタイプ:「H」

urls = ('http://3.bp.blogspot.com/-SC-w7eTgpM0/URE9NsI_nuI/AAAAAAAAAGE/YmlWnimNuPM/s1600/7957178556_001939ffc5_z.jpg') 
for addr in urls: 
     get_img_from_web(addr) 
images, names = scan_dir() 
lum_values = [] 
for i in range(256): 
     lum_values.append(i) 
header = 'Jack Tompkins\n'+','.join(str(lum) for lum in lum_values)+'\n\n' 
with open('p1TompkinsHistogram.csv', 'w') as f: 
     f.write(header) 
     for i, im in enumerate(images): 
      data = get_data(im) 
      path = names[i] 
      last_slash = path.rfind('/') 
      name = path[last_slash+1:] 
      f.write(name +',' + im.mode + ',' + data + ',') 
      h_r, h_g, h_b = get_histograms(im) 
      f.write(get_histogram_data(h_r, h_g, h_b) + '\n') 
      f.write(','.join(str(i) for i in h_r) + '\n') 
      f.write(','.join(str(i) for i in h_g) + '\n') 
      f.write(','.join(str(i) for i in h_b) + '\n') 

`

はこれで終わりであるであると信じて私が得るエラーの

raise ValueError("unknown url type: %r" % self.full_url) 
ValueError:unknown url type: 'h' 

どのような考えですか?

答えて

4

あなたの問題はここにある:

urls = ('http://3.bp.blogspot.com/-SC-w7eTgpM0/URE9NsI_nuI/AAAAAAAAAGE/YmlWnimNuPM/s1600/7957178556_001939ffc5_z.jpg') 
for addr in urls: 

あなたはタプルとしてurlsを定義することを意味、それは実際に単一の文字列です。括弧にカンマは含まれていないので、Pythonは評価する単一の式として認識します。(2 + 2)は4であり、4を含むタプルではありません。文字列は繰り返し可能であり、構成文字を生成するので、addrは文字列。だからhを開き、t、次にtなどを開こうとします。または、開こうとするとhはエラーを出さなかったでしょう。

解決策は、末尾のカンマを使用してurlsを書き込んで、Pythonがタプルとして認識していることを確認するか、角括弧を使用してリストにすることです。もちろん、複数のアイテムを使用することもできます。

+0

これは、ありがとう! –

関連する問題