找不到我的错

时间:2013-08-08 19:13:50

标签: python

编译器一直说这个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 个答案:

答案 0 :(得分:3)

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

或许您打算将__init__留空?

def __init__(queueFTP):
    pass

答案 1 :(得分:2)

您的__init__方法中根本没有代码。如果您不需要专门的__init__,请不要定义一个。如果确实需要一个,那么该代码必须缩进。添加缩进的pass语句作为占位符将修复您的即时语法问题,但这是毫无意义的。

答案 2 :(得分: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

答案 3 :(得分:0)

在python中,不会忽略空格。它们是语法的一部分。如果您了解Java / C / C ++,这里有一个类比:java中的每个{}块都是使用在行之前添加一个[space]来表示的。