-1
import os
import sys, urllib2, urllib
import re
import time
from threading import Thread

class testit(Thread):
   def __init__ (self):
      Thread.__init__(self)
   def run(self):
        url = 'http://games.espnstar.asia/the-greatest-odi/post_brackets.php'
        data = urllib.urlencode([('id',"btn_13_9_13"),  ('matchNo',"13")])
        req = urllib2.Request(url)
        fd = urllib2.urlopen(req, data)
<TAB>fd.close()
<TAB>"""while 1:
                data = fd.read(1024)
                if not len(data):
                        break
                sys.stdout.write(data)"""
        url2 = 'http://games.espnstar.asia/the-greatest-odi/post_perc.php'
        data2 = urllib.urlencode([('id',"btn_13_9_13"),  ('matchNo',"13")])
        req2 = urllib2.Request(url2)
        fd2 = urllib2.urlopen(req2, data2)
<TAB>#prints current votes
        while 1:
                data2 = fd2.read(1024)
                if not len(data2):
                        break
                sys.stdout.write(data2)
<TAB>fd2.close()
        print time.ctime()
        print " ending thread\n"

i=-1
while i<0:
   current = testit()
   time.sleep(0.001) #decrease this like 0.0001 for more loops
   current.start()

ねえ、誰かが私がコードのエラーを見つけるのを手伝ってくれることができますその言う一貫性のないタブの使用はインデントのスペース

4

2 に答える 2

5

あなたの投稿を編集して、すべてのタブを に置き換えました<TAB>。これらの行のインデントを削除し、スペースで並べる必要があります。一部のエディターはそれを行うことができますが、どのエディターを使用しているかはわかりません。

Python に真剣に取り組んでいる場合は、タブ キーが押されたときに常に 4 つのスペースを挿入するようにエディターを再構成する必要があります。また、タブ文字によって提供されるインデントの量を変更してみるか、一部のエディターでタブ文字の可視記号を出力して、問題がどこにあるかを確認することもできます。

于 2009-09-16T17:17:43.270 に答える
4

残念ながら、ここStackOverflowのコードフォーマッターはすべてをスペースに変えているようです。しかし、エラーは非常に自明です。Pythonは、中括弧言語(C、C ++、Javaなど)とは異なり、インデントを使用してコードのブロックをマークします。エラーは、ブロックが不適切にインデントされていることを意味します。

于 2009-09-16T17:12:13.873 に答える