python-3.x - 块缩进 - python
问题描述
新编码器在这里。我遇到了一段代码的缩进/块问题。我想知道是否有人可以帮助我解决这个问题。谢谢你。
from bs4 import BeautifulSoup as soup
from urllib.request import urlopen as uReq
import requests
symbol = ''
url = "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=" + symbol + "&type=&dateb=&owner=exclude&start=0&count=100&output=atom"
uClient = uReq(url)
page_html = uClient.read()
uClient.close()
html = soup(page_html, 'html.parser')
entries = html.findAll("entry")
shouldContinue = True
link = ""
for entry in entries:
if shouldContinue and (
entry.find("category")["term"].lower() == "10-k" or entry.find("category")["term"].lower() == "10-q" or
entry.find("category")["term"].lower() == "20-f"):
firstUrl = entry.find("link")["href"]
uClientFirstUrl = uReq(firstUrl)
page_html_firstUrl = uClientFirstUrl.read()
uClientFirstUrl.close()
htmlFirstUrl = soup(page_html_firstUrl, 'html.parser')
tds = htmlFirstUrl.findAll("table")[1].findAll("td")
foundtd = False
for td in tds:
if foundtd == True:
link = "https://www.sec.gov" + td.find("a")["href"]
foundtd = False
if "xbrl instance" in td.text.lower():
foundtd = True
shouldContinue = False
return link
def getCash(url, symbol):
uClient = uReq(url)
page_html = uClient.read()
uClient.close()
xml = soup(page_html, 'xml')
cash = xml.findAll("us-gaap:CashAndCashEquivalentsAtCarryingValue")
if len(cash) == 0:
cash = xml.findAll("ifrs-full:Cash")
if len(cash) == 0:
cash = xml.findAll("us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents")
if len(cash) == 0:
cash = xml.findAll("us-gaap:Cash")
return cash;
我在第 42 行“def getCash(url, symbol):”处收到错误消息。我不知道我必须缩进哪个块。
解决方案
问题是getCash
缩进的方法(这在python中很重要)。您只需将其移回即可。您的代码中似乎还有一个流氓return link
语句,我在下面的示例中已将其删除(我假设它是一个粘贴错误)。
for entry in entries:
if shouldContinue and (
entry.find("category")["term"].lower() == "10-k" or entry.find("category")["term"].lower() == "10-q" or
entry.find("category")["term"].lower() == "20-f"):
firstUrl = entry.find("link")["href"]
uClientFirstUrl = uReq(firstUrl)
page_html_firstUrl = uClientFirstUrl.read()
uClientFirstUrl.close()
htmlFirstUrl = soup(page_html_firstUrl, 'html.parser')
tds = htmlFirstUrl.findAll("table")[1].findAll("td")
foundtd = False
for td in tds:
if foundtd == True:
link = "https://www.sec.gov" + td.find("a")["href"]
foundtd = False
if "xbrl instance" in td.text.lower():
foundtd = True
shouldContinue = False
def getCash(url, symbol):
uClient = uReq(url)
page_html = uClient.read()
uClient.close()
xml = soup(page_html, 'xml')
cash = xml.findAll("us-gaap:CashAndCashEquivalentsAtCarryingValue")
if len(cash) == 0:
cash = xml.findAll("ifrs-full:Cash")
if len(cash) == 0:
cash = xml.findAll("us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents")
if len(cash) == 0:
cash = xml.findAll("us-gaap:Cash")
return cash
推荐阅读
- ios - 如何使用 CPTLegen 作为按钮切换图形可见性
- bash - 如何在shell中提取由分隔符分隔的位置值
- java - 如何清理 Mina FTP 服务器中的会话
- octave - 无法在 Octave 中加载除 MATLAB 文件以外的文件格式
- r - 删除一些值后矩阵的 R 最大距离
- ios - 用于购买无期限云存储的应用内购买类型是什么
- javascript - 主机更改后 jQuery 无法正常运行。旧的服务器代码运行良好
- javascript - 在模态上使用 jqGrid 有什么条件吗?
- css - 网格布局列延伸太远
- python - ValueError: Shape must be rank 3 but is rank 2.“连接”层需要具有匹配形状的输入,但连接除外