其他语法无效:3.8

问题描述 投票:0回答:2

我是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 python-3.x loops if-statement continue
2个回答
0
投票

[请记住,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

0
投票

else语句不在if的结尾。结束另一个字符后,必须立即包含一个else。就像这样:

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

如果您只是要写pass,则可以直接省略else

© www.soinside.com 2019 - 2024. All rights reserved.