Python Else的语法无效:3.8

Python Else的语法无效:3.8,python,python-3.x,loops,if-statement,continue,Python,Python 3.x,Loops,If Statement,Continue,我是python脚本的新手,想知道如何修复下面的代码。我想知道如何解决Else语句的无效语法,谢谢 import os import zipfile f = open("filelist.txt","w+") path=("pathtofile") directory=os.fsencode(path) filenames = [] for file in os.listdir(directory): filename = os.fsdecode(file) if filena

我是python脚本的新手,想知道如何修复下面的代码。我想知道如何解决Else语句的无效语法,谢谢

import os
import zipfile

f = open("filelist.txt","w+")
path=("pathtofile")
directory=os.fsencode(path)
filenames = []
for file in os.listdir(directory):
    filename = os.fsdecode(file)
    if filename.endswith(".zip"):
        with zipfile.ZipFile(filename, 'r') as zipObj:
            contents = zipObj.namelist()

    listfile = (str(contents))
    remchar = "'[]"
    for char in remchar:
            a = listfile.replace(char,"")
    f.write (a)
    continue
    else:
        pass

    f.close()

请记住,python中的缩进非常重要。您的
else:
语句在同一级别上没有匹配的
if
语句。确保正确缩进,以实现您的目标:

if filename.endswith(".zip"):
    with zipfile.ZipFile(filename, 'r') as zipObj:
        contents = zipObj.namelist()

        listfile = (str(contents))
        remchar = "'[]"
        for char in remchar:
            a = listfile.replace(char,"")
            f.write (a)
        continue
else:
    pass

else
语句在
if
语句的末尾之外。您必须在结束另一个后立即包含一个
else
。是这样的:

if filename.endswith(".zip"):
    with zipfile.ZipFile(filename, 'r') as zipObj:
        contents = zipObj.namelist()
else:
    pass

如果你只是想写
pass
,那么你可以直接操作
else

这是你的代码的实际缩进吗?你的代码应该像
listfile
remchar
那样缩进吗?你的for循环应该在If语句中缩进吗?如果没有,那么您需要将else移到它们上面,这样在您的if之后,同一缩进处的下一行代码就是else
if
语句在您没有缩进
listfile=…
时结束。
else
应该是什么?如果你是新手,你可能想从官方的Python教程开始。您的
错误的解决方案:
错误已开启–下次,请发布完整的回溯。首先,它告诉我们错误发生在哪一行。(它可能会告诉我们更多,因此不要忽略任何您不了解其需要的内容。)