电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python如何輸出警告信息

瀏覽:2日期:2022-07-15 17:52:54

問題

你希望自己的程序能生成警告信息(比如廢棄特性或使用問題)。

解決方案

要輸出一個警告消息,可使用 warning.warn() 函數。例如:

import warningsdef func(x, y, logfile=None, debug=False): if logfile is not None: warnings.warn(’logfile argument deprecated’, DeprecationWarning) ...

warn() 的參數是一個警告消息和一個警告類,警告類有如下幾種:UserWarning, DeprecationWarning, SyntaxWarning, RuntimeWarning, ResourceWarning, 或 FutureWarning.

對警告的處理取決于你如何運行解釋器以及一些其他配置。 例如,如果你使用 -W all 選項去運行Python,你會得到如下的輸出:

bash % python3 -W all example.pyexample.py:5: DeprecationWarning: logfile argument is deprecated warnings.warn(’logfile argument is deprecated’, DeprecationWarning)

通常來講,警告會輸出到標準錯誤上。如果你想講警告轉換為異常,可以使用 -W error 選項:

bash % python3 -W error example.pyTraceback (most recent call last): File 'example.py', line 10, in <module> func(2, 3, logfile=’log.txt’) File 'example.py', line 5, in func warnings.warn(’logfile argument is deprecated’, DeprecationWarning)DeprecationWarning: logfile argument is deprecatedbash %

討論

在你維護軟件,提示用戶某些信息,但是又不需要將其上升為異常級別,那么輸出警告信息就會很有用了。 例如,假設你準備修改某個函數庫或框架的功能,你可以先為你要更改的部分輸出警告信息,同時向后兼容一段時間。 你還可以警告用戶一些對代碼有問題的使用方式。

作為另外一個內置函數庫的警告使用例子,下面演示了一個沒有關閉文件就銷毀它時產生的警告消息:

>>> import warnings>>> warnings.simplefilter(’always’)>>> f = open(’/etc/passwd’)>>> del f__main__:1: ResourceWarning: unclosed file <_io.TextIOWrapper name=’/etc/passwd’ mode=’r’ encoding=’UTF-8’>>>>

默認情況下,并不是所有警告消息都會出現。-W 選項能控制警告消息的輸出。 -W all 會輸出所有警告消息,-W ignore 忽略掉所有警告,-W error 將警告轉換成異常。 另外一種選擇,你還可以使用 warnings.simplefilter() 函數控制輸出。 always 參數會讓所有警告消息出現,`ignore 忽略調所有的警告,error 將警告轉換成異常。

對于簡單的生成警告消息的情況這些已經足夠了。 warnings 模塊對過濾和警告消息處理提供了大量的更高級的配置選項。 更多信息請參考 Python文檔

以上就是Python如何輸出警告信息的詳細內容,更多關于Python 輸出警告信息的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 艺术涂料|木纹漆施工|稻草漆厂家|马来漆|石桦奴|水泥漆|选加河南天工涂料 | 钢格板|镀锌钢格板|热镀锌钢格板|格栅板|钢格板|钢格栅板|热浸锌钢格板|平台钢格板|镀锌钢格栅板|热镀锌钢格栅板|平台钢格栅板|不锈钢钢格栅板 - 专业钢格板厂家 | 千淘酒店差旅平台-中国第一家针对TMC行业的酒店资源供应平台 | 玻纤土工格栅_钢塑格栅_PP焊接_单双向塑料土工格栅_复合防裂布厂家_山东大庚工程材料科技有限公司 | 葡萄酒灌装机-食用油灌装机-液体肥灌装设备厂家_青州惠联灌装机械 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 不锈钢闸阀_球阀_蝶阀_止回阀_调节阀_截止阀-可拉伐阀门(上海)有限公司 | 丝杆升降机-不锈钢丝杆升降机-非标定制丝杆升降机厂家-山东鑫光减速机有限公司 | 纯化水设备-EDI-制药-实验室-二级反渗透-高纯水|超纯水设备 | 河南新乡德诚生产厂家主营震动筛,振动筛设备,筛机,塑料震动筛选机 | 琉璃瓦-琉璃瓦厂家-安徽盛阳新型建材科技有限公司 | 合金ICP光谱仪(磁性材料,工业废水)-百科 | 真空搅拌机-行星搅拌机-双行星动力混合机-广州市番禺区源创化工设备厂 | 钢化玻璃膜|手机钢化膜|钢化膜厂家|手机保护膜-【东莞市大象电子科技有限公司】 | 防腐储罐_塑料储罐_PE储罐厂家_淄博富邦滚塑防腐设备科技有限公司 | 辐射仪|辐射检测仪|辐射巡测仪|个人剂量报警仪|表面污染检测仪|辐射报警仪|辐射防护网 | 12cr1mov无缝钢管切割-15crmog无缝钢管切割-40cr无缝钢管切割-42crmo无缝钢管切割-Q345B无缝钢管切割-45#无缝钢管切割 - 聊城宽达钢管有限公司 | 烟台条码打印机_烟台条码扫描器_烟台碳带_烟台数据采集终端_烟台斑马打印机-金鹏电子-金鹏电子 | 电缆接头_防水接头_电缆防水接头 - 乐清市新豪电气有限公司 | 深圳市东信高科自动化设备有限公司 | 广西正涛环保工程有限公司【官网】 | 电磁铁_推拉电磁铁_机械手电磁吸盘电磁铁厂家-广州思德隆电子公司 | 蒸压釜_蒸养釜_蒸压釜厂家-山东鑫泰鑫智能装备有限公司 | 颚式破碎机,圆锥破碎机,制砂机-新乡市德诚机电制造有限公司 | 济南律师,济南法律咨询,山东法律顾问-山东沃德律师事务所 | 杭州门窗厂家_阳光房_包阳台安装电话-杭州窗猫铝合金门窗 | 正压密封性测试仪-静态发色仪-导丝头柔软性测试仪-济南恒品机电技术有限公司 | 超声波成孔成槽质量检测仪-压浆机-桥梁预应力智能张拉设备-上海硕冠检测设备有限公司 | 振动时效_振动时效仪_超声波冲击设备-济南驰奥机电设备有限公司 北京宣传片拍摄_产品宣传片拍摄_宣传片制作公司-现像传媒 | DDoS安全防护官网-领先的DDoS安全防护服务商 | 广州中央空调回收,二手中央空调回收,旧空调回收,制冷设备回收,冷气机组回收公司-广州益夫制冷设备回收公司 | 垃圾清运公司_环卫保洁公司_市政道路保洁公司-华富环境 | UV固化机_UVLED光固化机_UV干燥机生产厂家-上海冠顶公司专业生产UV固化机设备 | 西点培训学校_法式西点培训班_西点师培训_西点蛋糕培训-广州烘趣西点烘焙培训学院 | 临海涌泉蜜桔官网|涌泉蜜桔微商批发代理|涌泉蜜桔供应链|涌泉蜜桔一件代发 | MES系统-WMS系统-MES定制开发-制造执行MES解决方案-罗浮云计算 | 铝机箱_铝外壳加工_铝外壳厂家_CNC散热器加工-惠州市铂源五金制品有限公司 | 蒸汽吸附分析仪-进口水分活度仪|康宝百科 | PSI渗透压仪,TPS酸度计,美国CHAI PCR仪,渗透压仪厂家_价格,微生物快速检测仪-华泰和合(北京)商贸有限公司 | 废水处理-废气处理-工业废水处理-工业废气处理工程-深圳丰绿环保废气处理公司 | 氨水-液氨-工业氨水-氨水生产厂家-辽宁顺程化工 |