python
gj4990
这个作者很懒,什么都没留下…
展开
-
python属性的代理访问
# -*- coding:utf-8 -*-#由于方法二存在弊端,建议使用方法一#方法一class A: def __init__(self): print("A class initialization") def f1(self): print("A class -> f1 function") def f2(sel...原创 2019-10-20 16:53:46 · 278 阅读 · 0 评论 -
python实例属性管理
在python中,需要对某个实例attribute增加除访问与修改之外的其他处理逻辑,比如类型检查或合法性验证。下面通过两种方法进行实现。(具体参考《python cookbook》)# -*- coding:utf-8 -*-#getter和setter主要用于实例属性的检测#以下是通过类的方式实现的实例属性的检测,#但是如果有很多属性需要检测,则将实现很多冗余的代码。#因此可...原创 2019-10-20 16:05:50 · 243 阅读 · 0 评论 -
shell处理json字符串
对于shell一般字符串的解析可以使用grep/sed/cut/awk等命令,对于json字符串的解析一般使用jq命令,但是有时需要在shell中构建json字符串,对于这种情况下使用python处理非常方便,下面便在shell中调用python构建json字符串。#!/bin/bashstr='{ "orig": { "a1": "1", "a2": "2", ...原创 2019-10-16 21:31:24 · 6169 阅读 · 0 评论 -
python装饰器实现周期性函数调用
python的装饰器可用于权限校验,周期性函数调用等功能,下面通过两种方式实现周期性函数的调用。# -*- coding:utf-8 -*-from functools import wrapsimport timeimport datetime_ts = lambda: time.time()# 通过__call__实现装饰器类class PeriodLoopingCall...原创 2019-10-14 21:36:26 · 299 阅读 · 0 评论 -
迭代器实现的固定数据获取
有时会遇到这种场景,在数据量特别大的情况下,不能一次性将数据读到内存中,此时迭代器便派上用场。即一次性只读有限的数据量,在下一次函数或者对象调用时,在上一次的index下继续读取下一个有限长度的数据,即可以通过python的yield实现。下面通过两种方式进行实现:可迭代对象的方式和生成器函数的方式。#可迭代对象class IterObject: def __init__(self...原创 2019-10-14 21:01:54 · 245 阅读 · 0 评论 -
处理Windows文件格式为Linux文件格式的方法
本文将介绍处理Windows文件格式为Linux文件格式的3种方法。1 判断Windows文件格式在Linux系统中,当我们执行shell脚本时,有时会出现以下错误:[root@master test]# sh t.sht.sh: line 2: $'\r': command not foundhello world该错误的原因就是脚本文件为Windows文件格式,我们可以通...原创 2016-05-15 15:49:19 · 10221 阅读 · 1 评论 -
基于py-amqp编写生产者和消费者代码
在介绍erlang的dbg调试RabbitMQ源码之前,首先介绍基于py-amqp编写RabbitMQ的生产者和消费者代码,其中py-amqp的安装包可在以下链接下载:https://pypi.org/project/amqp/1 公共模块生产者和消费者一些公共代码编写在utils.py文件中,代码如下:import loggingimport jsonimport oscl...原创 2019-10-06 22:45:33 · 758 阅读 · 0 评论