Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“如何修复”;缩进错误:应为缩进块“;用Python?_Python_If Statement_Indentation - Fatal编程技术网

“如何修复”;缩进错误:应为缩进块“;用Python?

“如何修复”;缩进错误:应为缩进块“;用Python?,python,if-statement,indentation,Python,If Statement,Indentation,我试图用Python对URL进行API测试,我有以下代码块 def simple_get(url): try: page_response = requests.get(page_link, timeout=5) if page_response.status_code == 200: # extract else: print(page_

我试图用Python对URL进行API测试,我有以下代码块

       def simple_get(url):
        try:
            page_response = requests.get(page_link, timeout=5)
            if page_response.status_code == 200:
            # extract
            else:
                print(page_response.status_code)
                # notify, try again
        except requests.Timeout as e:
            print("It is time to timeout")
            print(str(e))
        except # other exception
当我运行它时,给我以下错误

File "<ipython-input-16-6291efcb97a0>", line 11
else:
   ^
IndentationError: expected an indented block
文件“”,第11行
其他:
^
缩进错误:应为缩进块

我不明白为什么当我已经缩进了“else”语句时,笔记本仍然要求缩进

问题是你没有告诉程序在满足第一个条件(if语句)时该怎么做。如果您不确定在If中要做什么,可以使用python内置的“pass”

if page_response.status_code == 200:
    pass
else:
    print(page_response.status_code)

这是
Python
中的一个非常基本的概念,用于开始编码:
代码块中以
#
开头的行将被忽略

这里的代码

    if page_response.status_code == 200:
    # extract
    else:
        print(page_response.status_code)
字面翻译为

    if page_response.status_code == 200:
    else:
        print(page_response.status_code)
并因此产生
缩进错误

您可以通过将至少
pass
命令或任何工作行放入
if
语句来解决此问题

类似的问题之前已经提出过:

确保不要将制表符与空格混合使用,并使用4-空格缩进,按照python标准,
if…:
您只需输入一个
pass
就可以了,因为您没有告诉if通过。为什么我会得到否定点可能重复的感谢,这很有效,继续讨论下一个例外@Jin下一个例外是什么?如果你能写一两句话,我想这个答案会更有价值,为什么这会解决问题。@syntonymThanks@syntonym,这修复了问题,因为pass I没有为if语句设置条件,因此“else”语句存在缩进问题。设置pass条件后,“else”语句不再有缩进问题
import requests
from bs4 import BeautifulSoup
def simple_get(url):
    try:
        page_response = requests.get(url, timeout=5)
        if page_response.status_code == 200:
            print(page_response.status_code)
            pass
            # extract
        else:
            print(page_response.status_code)
            # notify, try again
    except requests.Timeout as e:

        print("It is time to timeout")
        print(str(e))
simple_get("https://www.nytimes.com/")