How to fix "IndentationError: expected an indented block" in Python?
How to fix "IndentationError: expected an indented block" in Python?
我正在尝试使用 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
我不明白为什么当我已经缩进了 "else" 语句时笔记本仍然要求缩进
问题是你没有告诉程序当满足第一个条件(if 语句)时要做什么。如果你不确定在 if 中做什么,你可以使用 python build in '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)
因此产生 IndentationError
.
您可以通过将至少 pass
命令或任何工作行放入 if
语句来解决它。
之前已经有人问过类似的问题:
Python: Expected an indented block
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/")
我正在尝试使用 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
我不明白为什么当我已经缩进了 "else" 语句时笔记本仍然要求缩进
问题是你没有告诉程序当满足第一个条件(if 语句)时要做什么。如果你不确定在 if 中做什么,你可以使用 python build in '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)
因此产生 IndentationError
.
您可以通过将至少 pass
命令或任何工作行放入 if
语句来解决它。
之前已经有人问过类似的问题:
Python: Expected an indented block
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/")