脚本如下:fromopenpyxlimportload_workbookworkbook=load_workbook(u'/tmp/test.xlsx')#找到需要xlsx文件的位置booksheet=workbook.active#获取当前活跃的sheet,默认是第一个sheet#如果想获取别的sheet页采取下面这种方式,先获取所有sheet页名,在通过指定那一页。#sheets=workbook.get_sheet_names()#从名称获取shee
系统 2019-09-27 17:48:59 2055
在实验中需要自己构造单独的HTTP数据报文,而使用SOCK_STREAM进行发送数据包,需要进行完整的TCP交互。因此想使用原始套接字进行编程,直接构造数据包,并在IP层进行发送,即采用SOCK_RAW进行数据发送。使用SOCK_RAW的优势是,可以对数据包进行完整的修改,可以处理IP层上的所有数据包,对各字段进行修改,而不受UDP和TCP的限制。下面开始构造HTTP数据包,IP层和TCP层使用python的Impacket库,http内容自行填写。#!/
系统 2019-09-27 17:48:25 2055
一数据结构和GIL1queue标准库queue模块,提供FIFO的queue、LIFO的队列,优先队列Queue类是线程安全的,适用于多线程间安全的交换数据,内部使用了Lock和Condition为什么说容器的大小不准确,其原因是如果不加锁,是不可能获取到准确的大小的,因为你刚读取了一个大小,还没取走,有可能被就被其他线程修改了,queue类的size虽然加了锁,但是依然不能保证立即get,put就能成功,因为读取大小和get,put方法是分来的。2GIL
系统 2019-09-27 17:48:10 2055
1.函数的动态参数1.1*args位置参数动态传参defchi(*food):print("我要吃",food)chi("大米饭","小米饭")结果:我要吃('大米饭','小米饭')#多个参数传递进去.收到的内容是元组tuple1.2**kwargs关键字参数动态传参deffunc(**kwargs):print(kwargs)func(a=1,b=2,c=3)func(a=1,b=2)结果:{'a':1,'b':2,'c':3}{'a':1,'b':2}
系统 2019-09-27 17:47:53 2055
在python的官方文档中:getattr()的解释如下:getattr(object,name[,default])Returnthevalueofthenamedattributeofobject.namemustbeastring.Ifthestringisthenameofoneoftheobject'sattributes,theresultisthevalueofthatattribute.Forexample,getattr(x,'fooba
系统 2019-09-27 17:47:19 2055
Python命令行之旅:深入argparse(二)作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article前言在上一篇“深入argparse(一)”的文章中,我们深入了解了argparse的包括参数动作和参数类别在内的基本功能,具备了编写一个简单命令行程序的能力。本文将继续深入了解argparse的进阶玩法,一窥探其全貌,助
系统 2019-09-27 17:47:15 2055
本文实例讲述了python针对mysql数据库的连接、查询、更新、删除操作。分享给大家供大家参考,具体如下:连接一代码importpymysql#打开数据库连接db=pymysql.connect("localhost","root","root","db_test01")#使用cursor()方法创建一个游标对象cursorcursor=db.cursor()#使用execute()方法执行SQL查询cursor.execute("SELECTVERSI
系统 2019-09-27 17:46:56 2055
数据流转过程除了在类中可以写这种函数之外,在类中还可以写别的函数,延续上一讲的例子:复制代码代码如下:#!/usr/bin/envpython#coding:utf-8classPerson:def__init__(self,name,lang="golang",website="www.google.com"):self.name=nameself.lang=langself.website=websiteself.email="qiwsir@gmail
系统 2019-09-27 17:46:02 2055
set无序排序且不重复,是可变的,有add(),remove()等方法。既然是可变的,所以它不存在哈希值。基本功能包括关系测试和消除重复元素.集合对象还支持union(联合),intersection(交集),difference(差集)和sysmmetricdifference(对称差集)等数学运算。sets不支持indexing。frozenset是不可变的Set。set的形式是{1,2},有点像字典。set.add(1),set.update([3,
系统 2019-09-27 17:45:55 2055
刚来这个公司,熟悉了环境,老大就开始让我做一个迁移、修改代码的工作,我想说的是,这种工作真没劲~~,看别人的代码、改别人的代码、这里改个变量、那里改个文件名・・・・・・,都是些没技术含量、很繁琐的事情,不过通过迁移代码顺便熟悉下环境也好。扯了这么多,说说今天的主题吧――代码编码格式改变,由于某些原因,需要将代码从A机房迁移到B机房,这两个之间不能互相访问,但是历史原因导致A机房的代码全是utf8编码的,B机房要求是GBK编码,看看这个怎么解决。编码问题先说
系统 2019-09-27 17:45:49 2055