编译器一直说这个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
答案 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]来表示的。