一、如何用pdb进行python调试?
本文章讲述了如何用pdb进行python调试讲解. 当手边 没有IDE,面对着python调试犯愁时,你就可以参考下本文;(pdb 命令调试) 和 (pdb)help 用pdb进行python调试,用法基本和gdb差不多, 先看一个简单的例子: epdb1.py .# epdb1.py -- experiment with the Python debugger, pdb a = "aaa" b = "bbb" c = "ccc" final = a + b + c print final 比如要对这个程序进行调试: 1:在文件前面加上这一句,引入调试的模块。 import pdb 2:在要开始调试的一行加上pdb.set_trace()文件变成: # epdb1.py -- experiment with the Python debugger, pdb import pdb a = "aaa" pdb.set_trace() b = "bbb" c = "ccc" final = a + b + c print final 可以运行这个程序,到断点出会停下来,和gdb类似, 可以执行命令: 直接回车是重复前一条命令! p(print) 查看一个变量值 n(next) 下一步 s(step) 单步,可进入函数 c(continue)继续前进 l(list)看源代码 用pdb调试有多种方式可选: 1.命令行启动目标程序,加上-m参数,这样调用myscript.py的话断点就是程序的执行第一行之前 python -m pdb myscript.py 2. 在Python交互环境中启用调试 >>> import pdb >>> import mymodule >>> pdb.run('mymodule.test()') 3.比较常用的,就是在程序中间插入一段程序,相对于在一般IDE里面打上断点然后启动debug,不过这种方式是hardcode的 if __name__ == "__main__" : a = 1 importpdb pdb .set_trace() b = 2 c = a + b print( c) 然后正常运行脚本,到了pdb.set_trace()那就会定下来,就可以看到调试的提示符(Pdb)了 常用的调试命令 h(elp),会打印当前版本Pdb可用的命令,如果要查询某个命令,可以输入 h [command],例如:"h l" - 查看list命令 l(ist),可以列出当前将要运行的代码块 (Pdb) l 497 pdb.set_trace() 498 base_data = {} 499 new_data = {} 500 try: 501 execfile(base_file_name,{},base_data) 502 -> execfile(new_file_name,{},new_data) 503 except: 504 logger.writeLog("error! load result log error!") 505 print "load cmp logs error!" 506 raise Exception, "load cmp logs error!" 507>断点设置 (Pdb)b10 #断点设置在本py的第10行 或(Pdb)bots.py:20 #断点设置到 ots.py第20行 删除断点(Pdb)b #查看断点编号 (Pdb)cl 2 #删除第2个断点 >运行 (Pdb)n #单步运行 (Pdb)s #细点运行 也就是会下到,方法 (Pdb)c #跳到下个断点 >查看 (Pdb)p param #查看当前 变量值 (Pdb)l #查看运行到某处代码 (Pdb)a #查看全部栈内变量 b(reak), 设置断点,例如 "b 77″,就是在当前脚本的77行打上断点,还能输入函数名作为参数,断点就打到具体的函数入口,如果只敲b,会显示现有的全部断点 (Pdb) b 504 Breakpoint 4 at /home/jchen/regression/regressionLogCMP.py:504 condition bpnumber [condition],设置条件断点,下面语句就是对第4个断点加上条件"a==3" (Pdb) condition 4 a==3 (Pdb) b Num Type Disp Enb Where 4 breakpoint keep yes at /home/jchen/regression/regressionLogCMP.py:504 stop only if a==3 cl(ear),如果后面带有参数,就是清除指定的断点(我在Python2.4上从来没成功过!!!);如果不带参数就是清除所有的断点 (Pdb) cl Clear all breaks? y disable/enable,禁用/激活断点 (Pdb) disable 3 (Pdb) b Num Type Disp Enb Where 3 breakpoint keep no at /home/jchen/regression/regressionLogCMP.py:505 n(ext),让程序运行下一行,如果当前语句有一个函数调用,用n是不会进入被调用的函数体中的 s(tep),跟n相似,但是如果当前有一个函数调用,那么s会进入被调用的函数体中 c(ont(inue)),让程序正常运行,直到遇到断点 j(ump),让程序跳转到指定的行数 (Pdb) j 497 > /home/jchen/regression/regressionLogCMP.py(497)com pareLog() -> pdb.set_trace() a(rgs),打印当前函数的参数 (Pdb) a _logger = _base = ./base/MRM-8137.log _new = ./new/MRM-8137.log _caseid = 5550001 _toStepNum = 10 _cmpMap = {'_bcmpbinarylog': 'True', '_bcmpLog': 'True', '_bcmpresp': 'True'} p,最有用的命令之一,打印某个变量 (Pdb) p _new u'./new/MRM-8137.log' !,感叹号后面跟着语句,可以直接改变某个变量 q(uit),退出调试 ============================================================================================== 在python中使用pdb模块可以进行调试 import pdb pdb.set_trace() 也可以使用python -m pdb mysqcript.py这样的方式 (Pdb) 会自动停在第一行,等待调试,这时你可以看看 帮助 (Pdb) h 说明下这几个关键 命令 >断点设置 (Pdb)b 10 #断点设置在本py的第10行 或(Pdb)b ots.py:20 #断点设置到 ots.py第20行 删除断点(Pdb)b #查看断点编号 (Pdb)cl 2 #删除第2个断点 >运行 (Pdb)n #单步运行 (Pdb)s #细点运行 也就是会下到,方法 (Pdb)c #跳到下个断点 >查看 (Pdb)p param #查看当前 变量值 (Pdb)l #查看运行到某处代码 (Pdb)a #查看全部栈内变量 (Pdb)w 列出目前call stack 中的所在层。 (Pdb)d 在call stack中往下移一层 (Pdb)u 在call stack中往上移一层。如果在上移一层之后按下 n ,则会在上移之后的一层执行下一个叙述,之前的 function call 就自动返回。 (Pdb)cl 清除指定的断点。如果没有带参数,则清除所有断点。 (Pdb)disable 取消所有断点的功能,但仍然保留这些断点。 (Pdb)enable 恢复断点的功能。 (Pdb)ignore 设定断点的忽略次数。如果没指定 count,其初始 为 0。当 count 为 0 时,断点会正常动作。若有指定 count,则每次执行到该中断, count 就少 1,直到 count 数为 0。 (Pdb)condition bpnumber [condition] (Pdb)j(ump) lineNo. 跳到某行执行。只有在 call stack 的最底部才能作用。 (Pdb)l 列出目前所在档案中的位置。连续地 l 命令会一直列到档案结尾,可以使用指定行数或范围来打印。 (Pdb)pp 和 p 命令类似,但是使用 pprint module(没用过 pprint,详情请参考 Python Library Reference)。 (Pdb)alias 以一个"别名"代替"一群除错命令",有点类似 c/c 的 macro(详情请参考 Python Library Reference)。 (Pdb)unalias 取消某个 alias。 (Pdb)[!]statement 在目前的环境(context)中执行叙述。 转载
二、可回收物可以进行资源化再利用?
厨余垃圾,可用于降解堆肥处理,同时还能厌氧发酵,产生的沼气用于焚烧发电有害垃圾,工业废物处置中心进行无害化处理其他垃圾,卫生填埋和焚烧发电可回收物,回收后给资源再生企业
三、生物质是什么?可以进行资源化回收处理吗?
生物质是指通过光合作用而形成的各种有机体,包括所有的动植物和微生物。是仅次于煤炭、石油、天然气之后第四大能源,秸秆等农作物都属于生物质,生物质可以经由热解技术处理得到木醋液、木焦油、生物炭等能源产品,热解行业龙头企业济南恒誉环保科技股份有限公司,国家科技进步奖获奖企业,一直做得很不错!
四、资源回收怎么入门?
资源回收入门,可以从了解基本的回收知识开始,包括不同材料的回收标准、可回收垃圾的分类方法、不可回收垃圾的处理方式等。
其次,要建立良好的回收习惯,将可回收垃圾正确分类并定期交付回收公司,避免有害物质污染环境;
此外,要建立个人回收记录,以证明自己的可持续发展行为。
五、怎样进行废品回收?
一、学会一定的废品鉴别学问。
如今,由于信息的兴旺,有多种途径能够学到这些学问的,如网站的材料库或书本等。在实践操作中再把学到的理论学问转化过来,这是事半功倍的方式。这会让新手们少吃点亏。二、学会怎样找废品销路。销路容易,但能卖个好价钱就意味着你能进步本行的竞争力。你可以守在地磅附近,看着运废料的车就拦下来,拿着样品问价钱,这挺有效的,你得到的卖价将越来越高。另外还能够经过网络、黄页等方式找出潜在的销售对象,然后再逐一去访问。你可以在废品之家这个网站看看,有许多叫你如何做废品生意的攻略。六、江西工厂再生资源回收咨询 | 如何进行有效的再生资源回收?
再生资源回收的重要性
再生资源回收是指对废弃物进行提取、分类、加工和利用,将废弃物再次转化为可再利用的资源,实现资源的循环利用和减少环境污染的目的。
在江西工厂中,再生资源回收既具有经济价值,又对环境产生积极影响。通过有效的再生资源回收,工厂可以降低原材料采购成本,减少废物产生的处理成本,并延长资源的使用寿命。此外,再生资源回收还可以减少环境污染,节约能源,保护生态环境。
江西工厂再生资源回收的挑战
然而,江西工厂在进行再生资源回收时面临一些挑战。首先,资源回收技术的不完善导致了回收效率不高,部分可回收资源未能得到有效利用。其次,对于废弃物的分类和收集工作还存在难度,这要求相关部门和工厂加强沟通合作,制定出科学合理的回收方案。另外,公众对再生资源回收的意识和参与度也需要提高,只有公众积极参与,才能实现再生资源的最大化回收。
如何进行有效的再生资源回收
为了解决江西工厂再生资源回收面临的问题,以下是一些有效的建议:
- 加强技术研发:江西工厂应该加大对再生资源回收技术的研发和投入,提高回收效率和资源利用率。
- 完善回收体系:工厂需要与相关部门合作,建立科学的废弃物分类和收集体系,将可回收资源与其他废弃物有效分离。
- 加强宣传教育:通过广泛宣传,提高公众对再生资源回收的意识和参与度,促使更多人参与到回收活动中。
- 加强监管力度:相关部门应加强对江西工厂的再生资源回收工作的监管,确保回收环节的规范运行和资源的有效利用。
通过以上措施的实施,江西工厂再生资源回收工作将迎来更大的发展空间。在实现经济效益的同时,有效的再生资源回收将为江西工厂带来可持续发展的新机遇,并为环境保护事业作出积极贡献。
七、再生资源资源回收利用指导意见?
建议把可以再生资源资源回收时也进行分类,把再生资源资源的回收价值进行分类
八、ipad资源机回收吗?
Ipad资源机官网不回收,官方也不会回收,但是我可以告诉你,小地方回收,比如说你在其他的地方,二手市场和一些小黑市啊,这些地方是回收的,他们回去把件儿都拆了,以后匹配重新组装机,这样的话就会嗯麦麦,但是卖不上价格一般的话,卖的比较便宜一些
九、再生资源回收指?
再生资源是指整合有限的资源构造再生资源回收、分拣、转运、加工利用、集中处理为一体的产业化格局。近几年,我国的再生资源回收利用行业得到前所未有的发展。据统计,“十五”期间我国回收利用再生资源总量为4亿多吨,年平均回收利用量在8000万吨,年平均增长率为12%以上,主要再生资源回收利用总值超过了6500亿元,年平均增长率超过了20%。
十、为什么要回收资源?
一、目前再生资源回收是一个时尚行业,它的应用发展跟随着经济发展,带动了社会的需求,应试着资源再生,对于节约资源做出了莫大的贡献。
二、再生资源对环境保护节约资源降低成本有重要的意义.可以减少节约劳动力和资源,也对环境做到了一定的保护和清理作用。能源上的节省金属能来代替一些已绝种或稀少的金属.日益减少有些金属甚至已经绝种了。
三、再生资源的回收,很大程度上节约了成本,一个新的产品和折旧的价格大打折扣,回收后进行加工制作,性质没有改变,功能也同样不会受影响。很多维修店铺就比较青睐这种形式的经营,利益空间还是很大的,对于个人来说,破旧的生活器件能被回收还有一定的价格,已经很不错了。
四、对于社会来说,发展了小市场经济。促进了市场的活跃度,经营模式也越来越受到欢迎。