本站资源收集于互联网,不提供软件存储服务,每天免费更新优质的软件以及学习资源!

Python函数异常处理:如何解决自定义函数执行正常但调用后只输出一条消息的问题?

网络教程 app 1℃

Python函数异常处理如何解决自定义函数执行正常但调用后只输出一条消息的问题

python 自定义函数处理异常

在python 中定义函数时,除了返回预期结果外,有时还会遇见函数内部执行正常,而调用函数时却只输出一条讯息的情况。究其原因,通常是函数没有正确处理异常导致的。

以下是原始程式码:

def start_url(url): nianducontent = requests.get(url).text #獲取網頁源碼 nian = re.findall(‘<option value=".*?".*?>(.*?)</option>’, nianducontent, re.s) #獲取年份 for n in nian: if ‘"季度"’ not in n and ‘-‘ not in n: #過濾年份中包含’季度’和’-‘的jidu = range(1, 5) #1~4 四個季度for j in jidu: # for urls in url: urls = url + str(n) + ‘&season=’ + str(j) #拼接url print(urls) return urlsurl = ‘quotes.****.***./trade/lsjysj_******.html?year=’s = start_url(url)print(s)

函数内部遍历年份程式码通常会输出一系列网址,但调用函数时却仅输出:

quotes.****.***./trade/lsjysj_******.html?year=1999&season=1

调整程式码如下修正该问题:

def start_url(url): try: nianduContent = requests.get(url).text #獲取網頁源碼 nian = re.findall(‘<option value=".*?".*?>(.*?)</option>’, nianduContent, re.S) #獲取年份 urls = list() for n in nian:if ‘"季度"’ not in n and ‘-‘ not in n: #過濾年份中包含’季度’和’-‘的 jidu = range(1, 5) #1~4 四個季度 for j in jidu: # for urls in url: tempurl = url + str(n) + ‘&season=’ + str(j) #拼接url urls.append(tempurl) return urls except Exception as e: print("發生異常:", e)url = ‘quotes.*****.***./trade/lsjysj_******.html?year=’s = start_url(url)print(s)

通过新增异常处理机制,当函数执行过程中出现异常时,会被捕获并输出,从而方便调试问题。

以上就是Python 函数异常处理:如何解决自定义函数执行正常但调用后只输出一条消息的问题?的详细内容,更多请关注范的资源库其它相关文章!

转载请注明:范的资源库 » Python函数异常处理:如何解决自定义函数执行正常但调用后只输出一条消息的问题?

喜欢 (0)