-2

コンパイラはこれを言い続けIndentationError: expected an indented blockますが、間違いを見つけることができません。Python初心者を助けてください。

class BackgroundUploadFTP(threading.Thread):

    def __init__ (queueFTP):    

    def run(queueFTP):

         while True :

            if(len(queueFTP)!= 0):
                 meinftp = ftplib.FTP("altes-vennhaus.de")
                 meinftp.login("altes-vennhaus.de","XXXXX")         
                 directory = '/bilder' #ftp-Hauptverzeichnis  
                 meinftp.cwd(directory) #Wir nutzen das Hauptverzeichnis des ftp-Servers.

                 meinftp.storbinary('Stor '+'altes-vennhaus.jpg', queueFTP.popleft()) #Es wird die Datei mit
                 # dem Namen test.txt aus dem Hauptverzeichnis des Servers in die lokale
                 # Datei mit dem Namen test2.txt im Verzeichnis E:/ geschrieben.    
                 file.close()
                 meinftp.quit() #"höfliches" Trennen meinerseits der ftp-Verbindung
4

4 に答える 4

3
def __init__ (queueFTP):
    # code here should be indented

それとも、__init__空白のままにするつもりでしたか?

def __init__(queueFTP):
    pass
于 2013-08-08T19:15:14.560 に答える
2

__init__メソッドにはコードがまったくありません。特殊な が必要ない場合は__init__、定義しないでください。必要な場合は、そのコードをインデントする必要があります。インデントされたpassステートメントをプレースホルダーとして追加すると、当面の構文の問題は修正されますが、無意味です。

于 2013-08-08T19:16:35.730 に答える
0

インデントされたブロックを期待しているため、コンパイラを混乱させる空のメソッドを持つことはできません。次のステートメント
を使用すると、これを回避できます。pass

def __init__ (queueFTP):
  pass                   # this allows you to have a method that does nothing

または、このメソッドを完全に削除することもできますが、これは必須ではありません。
あなたはこれを残します:

class BackgroundUploadFTP(threading.Thread):
  def run(queueFTP):

    while True :
      if(len(queueFTP)!= 0):
        meinftp = ftplib.FTP("altes-vennhaus.de")
        meinftp.login("altes-vennhaus.de","XXXX")          
        directory = '/bilder' #ftp-Hauptverzeichnis  
        meinftp.cwd(directory) #Wir nutzen das Hauptverzeichnis des ftp-Servers.

        meinftp.storbinary('Stor '+'altes-vennhaus.jpg', queueFTP.popleft()) #Es wird die Datei mit
        # dem Namen test.txt aus dem Hauptverzeichnis des Servers in die lokale
        # Datei mit dem Namen test2.txt im Verzeichnis E:/ geschrieben.    
        file.close()
        meinftp.quit() #"höfliches" Trennen meinerseits der ftp-Verbindung
于 2013-08-08T19:15:09.917 に答える