07 2018 档案
摘要:由于之前有些需要过滤的文件已经提交到版本库了,之后再想起来添加时候已经晚了,使用如下方法 Git忽略规则和.gitignore规则不生效的解决办法 Git忽略规则: 在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如果没有这个文件,
阅读全文
摘要:tail -f命令不能自动切换切片文件,例如日志是每100M生成一个新文件,tail -f不能自动的切换文件,必须关闭然后重新运行tail -f 此篇使用pyinotify,检测文件更新,并实现tail -f以外,还能自动识别切换切片文件。而且针对日志类型的文件做了单独样式优化。 运行 ./tail
阅读全文
摘要:例如请求前和请求后各来一条日志,这样就不需要在自己的每个代码都去加日志了。 其实也可以直接记录'urllib3.connectionpool' logger name的日志。 1、结果就是这样。这样所有地方的requests请求都会生效了。 正常情况下我有自己围绕Session类实例包装的Sessi
阅读全文
摘要:之前发过日志,再增加一种模板。logging.Formatter('%(asctime)s - %(name)s - File "%(pathname)s", line %(lineno)d, in - %(levelname)s - %(message)s', "%Y-%m-%d %H:%M:%S"), # 一个模仿traceback异常的可跳转到打印日志地方的模板此模板是模拟tracebac...
阅读全文
摘要:1、按照测试用例的上下顺序,而不是按方法的名称的字母顺序来执行测试用例。 之前的文章链接 python修改python unittest的运行顺序 之前写的,不是猴子补丁,而是要把Test用例的类名传到run里面去执行,与原生的使用有一点区别。现在修改成,用的时候代码与原生unittest完全一模一
阅读全文
摘要:一共三个文件 a.py内容是 print('被导入') x = 1 b.py内容是 import a a.x = 2 c.py内容是 import a import b print(a.x) 现在运行c文件,这个结果出乎很多人的意料大部分python人员都猜不对,结果是 在c文件里面不管是先导入a还
阅读全文
摘要:打开cmd输入 regsvr32 c:\windows\SysWOW64\wintrust.dll 就可以了。
阅读全文
摘要:1、普通就是一个函数作为装饰器,也可以用类名作为装饰器。 因为类和函数都是callable的,都可以使用括号来调用运行他。 2、上上篇的缓存一段时间的还是函数作为装饰器,类只是充当了比模块更下一级的命名空间,因为我的模块很大,不想搞很多模块级全局变量,所以用了class外壳。 正宗的类装饰器是这样
阅读全文
摘要:之前发过了装饰器版本的异常记录日志,但是需要装饰在函数或方法上。此篇用上下文管理,用一个with就能记录错误了,不需要写成函数。 计算整形和字符串相加,运行结果是这样: 可以传verbose参数来控制记录错误的深度,默认写了100
阅读全文
摘要:把函数结果缓存一段时间,比如读取一个mongodb,mongodb中的内容又在发生变化,如果从部署后,自始至终只去读一次那就感触不到变化了,如果每次调用一个函数就去读取那太频繁了耽误响应时间也加大了cpu负担,也不行。那就把结果缓存一段时间。 来一个缓存一段时间的装饰器。 测试下: 可以发现只计算了
阅读全文
摘要:1、如果主线程是永远都不会结束的,那设置一个线程为守护线程是没必要的,设不设置都一样。 2、什么时候需要设置为守护线程?如果希望子线程一直运行,可以把子线程的代码写在while True里面一直循环,但同时要设置为守护线程,不然主线程结束了,子线程还一直运行,程序结束不了。
阅读全文
摘要:1、猴子补丁就是不改变原有模块的内容的前提下,给原有模块新增方法或者修改原有模块。 一个模块的函数,如果希望改变函数的功能,不改变函数名,通常是库模块,你不可能去修改三方库的源码的,实施起来不方便,而且假设你直接在原处改了东西,别人继续用那个库模块,你没和别人提前打好招呼,那可能产生悲剧。 2、面向
阅读全文
摘要:0、声明,本篇只讨论空__init__.py文件的情况,不顾前提非得说__init__.py文件里面也可以写东西的不在此讨论了范围之内,重点是个"空"字。 1、很多地方的文件夹都有__init__.py。网上一般都说,有了这个东西会把它当作一个包,否则import这个文件夹会出错。 但这就好像和说p
阅读全文
摘要:使用paramiko模块,比os模块和command模块更加的兼容各种环境。后面两个只能在服务器本机 执行,此模块写得python文件无论是在本地还是服务器本身上运行,都能兼容。 paramiko模块的用法如下。
阅读全文
摘要:前言: oop非常非常非常重要。搞不懂oop,就玩不了python,就算能写也一定是写代码时候喜欢靠猜瞎猫碰死老鼠写得心很虚。为什么这么说呢,我也是从面向过程编程到死走过来的,一路def到死,一看到有class的代码就逃到十万八千里了不想看,想千方设百计绕过这样的代码。不仅不愿意看这样的代码,而且写
阅读全文
摘要:1、继承 封装 多态是面向对象的三大特点,当年在考c++期末考试时候这三个特点还是作为填空题出现的。 而且老师也反复唠叨继承封装 多态,这三个词语是背得滚瓜烂熟了,但因为不是特别专业的计算机科班,学得不深入,只是能背着三个词语。 2、直到好几年上班后,经过了长时间的面向过程写代码和面向对象写法实践对
阅读全文
摘要:最近接受老代码,mmp的,说是重新运行运行起来,那还不如重写呢,因为有很多毛病,不能直接运行,pep8就不用妄想奢望了,还有包括语法错误问题和内存严重泄露的问题(运行几分钟后python.exe进程达到2GB直至把电脑卡死),而且很难看懂代码,修改也不方便。 1、笼统的说,大部分人都认为面向对象适合
阅读全文
摘要:最近pypi官网进行了更新,老的上传网址作废了。记录下上传到pypi的方法 0、去pypi官网注册账号,没账号是不可能上传的,想想也是那不乱套了吗,注册后会收到一个邮件需要点击然后重新登录 1、目录就是这样 ,我要上传mulitiprocessing_log_manager这个包到官网。 2、其中有
阅读全文