-3

私のエラー

  File "controller.py", line 26
    try:
      ^
IndentationError: expected an indented block

そして私のコード:

def main():
    config=ConfigParser.ConfigParser()
    config.readfp(open("settings.cfg"),"r")
    for site in config.sections():
       # ipdb.set_trace()
        settings=dict(config.items(site))
        with open('shoes.txt') as fp: <--new code trying to add
            for category, url in csv.reader(fp):  <--new code trying to add
            #ipdb.set_trace()
            #print url,category
            try: <--line 26

なんらかの理由でエラーが表示されます。修正方法がわかりません。助けてもらえますか?

私はうまくいった古いものを持っていました:

def main():
    config=ConfigParser.ConfigParser()
    config.readfp(open("settings.cfg"),"r")
    for site in config.sections():
       # ipdb.set_trace()
        settings=dict(config.items(site))
        for (url,category) in zip(settings['url'].split(","),settings['category'].split(",")):
            #ipdb.set_trace()
            #print url,category
            try:
... more code
4

2 に答える 2

2

try は for ループの一部であってはならないと思います

def main():
    config=ConfigParser.ConfigParser()
    config.readfp(open("settings.cfg"),"r")
    for site in config.sections():
       # ipdb.set_trace()
        settings=dict(config.items(site))
        with open('shoes.txt') as fp: <--new code trying to add
            for category, url in csv.reader(fp):  <--new code trying to add
                pass
            #ipdb.set_trace()
            #print url,category
            try: <--line 26

Python では空のブロックは使用できません。「for」ステートメントには空のブロックがあります。「パス」を追加するだけです (この場合は何もしません)。

意図した動作と一致すると思われるその他のバリエーション:

def main():
    config=ConfigParser.ConfigParser()
    config.readfp(open("settings.cfg"),"r")
    for site in config.sections():
       # ipdb.set_trace()
        settings=dict(config.items(site))
        with open('shoes.txt') as fp: <--new code trying to add
            for category, url in csv.reader(fp):  <--new code trying to add
                #ipdb.set_trace()
                #print url,category
                try: <--line 26
于 2013-10-19T16:30:02.850 に答える