Python
文章平均质量分 77
远行的风
喜欢写生 编程 音乐 设计 喜欢把自己的想法变成实实在在的东西 喜欢安静的做一些事情,网易Blog:http://khome.blog.163.com
展开
-
python class的实例方法,类方法和静态方法小笔记
参考定义:class A(object): X = 1 #实例方法 def foo(self): print("normal func") #类方法 @classmethod def class_foo(cls): print("class func, X = {}".format(cls.X)) #静态方法 @staticmethod def static_foo()原创 2021-02-20 14:09:34 · 551 阅读 · 0 评论 -
python cyclic import(循环导入)的小分析
踩了一个python循环导入(英文貌似叫python cyclic import)的坑,小小地研究了一下,分享给大家:首先明确几个逻辑:1. import XXX的时候,实际上是解释器对XXX模块进行一次解析(执行),比如下面的代码会打印"B executed": # a.py import b # b.py print("B executed") 2. python在多次import同一个模块的时候,会将import的模块的信.原创 2021-01-26 14:41:58 · 850 阅读 · 1 评论 -
python复习笔记[10] —— 面向对象程序设计
通过代码说明python中的OOP:#定义类class Student: '这是Student的文档字符串' studentCount = 0; # 类变量,所有类的实例共享该变量 def __init__(self, name, age): # 构造函数 sel原创 2017-02-21 23:12:34 · 655 阅读 · 0 评论 -
python中的MRO与多继承
相关概念:MRO:Method Resolution Order,即方法解析顺序,是python中用于处理二义性问题的算法 二义性:python支持多继承,多继承的语言往往会遇到以下两类二义性的问题:有两个基类A和B,A和B都定义了方法f(),C继承A和B,那么调用C的f()方法时会出现不确定。有一个基类A,定义了方法f(原创 2017-02-22 03:27:32 · 9385 阅读 · 4 评论 -
使用sxstrace.exe调试Windows应用程序运行时动态链接库的加载异常
sxstrace.exe是Windows 系统自带的一个非常强大的工具,用于跟踪应用程序运行时动态链接库的加载情况。下面举一个案例,使用 sxstrace.exe调试应用程序启动时抛出的"side-by-side"的加载异常。 在一台 WindowsServer 2008 R2的系统中安装 python2.7,安装完成后运行 python.exe原创 2017-03-23 20:44:25 · 4105 阅读 · 0 评论 -
python多线程文件传输范例(C/S)
客户端代码:#-*-encoding:utf-8-*- import socketimport osimport sysimport mathimport timeimport threading def getFileSize(file): file.seek(0, os.SEEK_END)原创 2017-03-26 23:40:35 · 5267 阅读 · 3 评论 -
python文件拆分与重组
文件拆分代码:#-*-encoding:utf-8-*- import osimport sysimport threading def getFileSize(file): file.seek(0, os.SEEK_END) fileLength = file.tell() file.seek(原创 2017-03-27 00:26:16 · 3029 阅读 · 0 评论 -
python单线程文件传输范例(C/S)
客户端代码:#-*-encoding:utf-8-*-import socketimport osimport sysimport mathimport timedef progressbar(cur, total): percent = '{:.2%}'.format(float(cur) / float(tota原创 2017-03-24 22:48:12 · 1646 阅读 · 2 评论 -
[Azure]Azure虚拟机代理服务(waagent)代码简单分析
我们在Azure中创建一台CentOS7.4的虚拟机,首先我们看一下/sbin/waagent这个执行文件:import osimport impimport sys if __name__ == '__main__' : import azurelinuxagent.agent as agent """ Invoke main原创 2018-01-23 17:59:32 · 1295 阅读 · 0 评论 -
[Azure]通过waagent代码找到临时磁盘的设备名
Azure的Linux虚拟机默认会有一个临时磁盘,正常情况下设备名是/dev/sdb,但是由于设备识别顺序是随机的,所以重启的时候,临时磁盘的设备名可能未必是/dev/sdb,那么waagent是如何将/dev/sdb挂在到/mnt/resource下的呢?waagent相关代码都在/usr/lib/python2.7/site-packages/azurelinuxagent目录下(具体分析过程...原创 2018-02-28 17:51:23 · 1010 阅读 · 0 评论 -
python复习笔记[9] —— 异常处理
异常处理代码示例:# python中预定义的异常类型exceptions = """BaseException 所有异常的基类SystemExit 解释器请求退出KeyboardInterrupt 用户中断执行(通常是输入^C)Exception原创 2017-02-21 20:43:36 · 699 阅读 · 0 评论 -
python复习笔记[8]——I/O及文件处理
基本I/O操作示例:# raw_input([prompt])函数从标准输入读取一个行,并返回一个字符串(去掉结尾的换行符):text = raw_input("Input something:");print text;# if I input "1 + 2", the printed result will be "1 + 2"原创 2017-02-21 20:33:02 · 982 阅读 · 0 评论 -
python复习笔记[1]——语法和逻辑
标识符:1. python标识符由字母/数字/下划线组成2. python标识符区分大小写3.以单下划线开头的(例如_foo)类属型表示protected成员,只能由类及其子类访问,不能使用“from xxximport *”导入4.以双下划线开头的(例如__foo)类型表示private成员,只能由类自己访问,子类中也不能访问5.原创 2017-02-20 21:16:48 · 886 阅读 · 0 评论 -
CentOS6.5安装Python 2.7.10
How to install python interpreter on CentOS6.5原创 2017-01-01 19:25:42 · 838 阅读 · 0 评论 -
Python调用C的代码
首先编写一个简单的C代码: 完成后,保存为add.c文件,使用gcc将文件编译为.so文件:gcc -oadd.so -shared -fPIC add.c注:fPIC用于编译阶段,告诉编译器产生于位置无关代码(Position-Independent Code),则产生的代码中,没有绝对地址,全部使用相对地址,这样代码无论被加载到内存的任何位置,都能够被正确执行。原创 2017-01-17 22:41:21 · 623 阅读 · 0 评论 -
python复习笔记[2]——数学运算
数学运算与数字处理:python中使用math中定义的方法来处理数字,使用前需要使用importmath将math包中的方法引入,math中定义的方法如下:函数返回值 (描述 )abs(x)返回数字的绝对值,如abs(-10)返回 10ceil(x) 返回数字原创 2017-02-20 21:48:09 · 537 阅读 · 0 评论 -
python复习笔记[3]——字符串
字符串:转义字符:转义字符描述\(在行尾时)续行符\\反斜杠符号\'单引号\"双引号\a响铃\b退格(Backspace)\e转义原创 2017-02-20 22:00:55 · 985 阅读 · 0 评论 -
python复习笔记[4]——列表
列表:列表的常见操作:Python表达式结果描述len([1, 2, 3])3长度[1, 2, 3] + [4, 5, 6][1, 2, 3, 4, 5, 6]组合['Hi!'] * 4['H原创 2017-02-21 13:28:23 · 602 阅读 · 0 评论 -
python复习笔记[5]——元组与字典
元组:元组与列表类似,不同之处在于元组的元素不能修改。元组的常见操作:Python表达式结果描述len((1, 2, 3))3计算元素个数(1, 2, 3) + (4, 5, 6)(1, 2, 3, 4, 5, 6)原创 2017-02-21 17:04:11 · 505 阅读 · 0 评论 -
python复习笔记[6]——时间与日期
时间和日期:python中提供了time和calendar模块来用于格式化日期和时间时间元组(struct_time):属性字段值tm_year4位数年2008tm_mon月1 到 12tm_mday原创 2017-02-21 17:39:25 · 503 阅读 · 0 评论 -
Scapy常用脚本
局域网host扫描:>>> ans,unans=srp(Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst="172.31.100.0/24"),timeout=2)>>> ans.summary(lambda (s,r):s.sprintf("%Ether.pdst% is up"))172.31.100.1 is up17原创 2017-01-23 23:16:22 · 1798 阅读 · 0 评论 -
python复习笔记[7]——函数
函数使用示例:#函数定义:# def functionname( parameters ):# "文档字符串"# 函数体# return [expression] def add(a, b): c = a + b; return c; #函数调用m = add原创 2017-02-21 19:27:43 · 345 阅读 · 0 评论 -
Win10 x64安装paramiko
安装Python 2.7 下载PyCrypto2.6 for Python 2.7 64bit,安装:">http://www.voidspace.org.uk/python/modules.shtml#pycrypto 下载安装Microsoft Visual C++ Compiler for Python 2.7:https://www.microsoft.co原创 2017-01-05 21:01:18 · 3558 阅读 · 0 评论