今天在写代码时遇到一个问题,正常输出的同时提示了DeprecationWarning,如下:
查了一下资料,DeprecationWarning(弃用警告)是Python中的一种警告,表示某个功能或特性已经被弃用。这意味着该功能或特性在当前版本中仍然可用,但在未来的Python版本中将被移除。这种警告旨在提醒开发者更新他们的代码,使用更新的、推荐的替代方案。
Python中,警告(warnings)是用于提醒用户程序中某些情况的非致命性消息,这些情况通常不足以引发异常并终止程序。
怎么生成或消除警告呢?
1.可以通过调用warnings模块中定义的warn()函数,并传入消息作为参数,来发出警告:
import warnings
warnings.warn("这是一个警告消息")
2.可以使用warnings模块提供的过滤器功能,忽略警告
import warnings
# 忽略所有警告
warnings.filterwarnings("ignore")
import warnings
#忽略特定类型警告(DeprecationWarning)
warnings.filterwarnings("ignore",category=DeprecationWarning)
解决方案:
方法一:
引入以下两行代码,使不输出警告:
import warnings
warnings.filterwarnings("ignore",category=DeprecationWarning)
方法二:
按照警告,DeprecationWarning: The ‘text’ argument to find()-type methods is deprecated. Use ‘string’ instead. 将代码修改为:
t_list4=bs.find_all(string=re.compile("\d")) #应用正则表达式查找包含特定文本的内容(标签里的字符串) \d表示包含数字的文本
for item in t_list4:
print(item)
完美解决~