StringIO经常被用来作为字符串的缓存,应为StringIO有个好处,他的有些接口和文件操作是一致的,也就是说用同样的代码,可以同时当成文件操作或者StringIO操作。比如:复制代码代码如下:importstring,os,sysimportStringIOdefwritedata(fd,msg):fd.write(msg)f=open('aaa.txt','w')writedata(f,"xxxxxxxxxxxx")f.close()s=Strin
系统 2019-09-27 17:50:39 2369
一、函数调用过程程序调用函数需要四步:调用程序在调用处暂停执行在调用时将实参复制给函数的形参执行函数体语句函数调用结束给出返回值,程序回到调用前的暂停处继续执行。二、函数的参数传递**形式参数(形参):**在函数创建和定义过程中使用的参数。**实际参数(实参):**在函数被调用的过程中传递进来的参数。形参只是代表一个位置、一个变量名,没有具体的值。实参是一个具体的值,是赋值到变量名中的值。实参默认按位置顺序依次传递给形参,若参数个数不对,就会报错关键字参数
系统 2019-09-27 17:50:21 2369
#1.创建一个边界值为1而内部都是0的数组,图例如下:#[提示:]解此题可以先把所有值都设置为1,这是大正方形;其次,把边界除外小正方形全部设置为0。#本题用到numpy的切片原理。多维数组同样遵循x[start:stop:step]的原理。importnumpyasnparr=np.ones((10,10))arr[1:9,1:9]=0#对不同维度的操作用,号分开即可print(arr)#2.在数组主对角线上创建一个值为1,2,3,4的5x5矩阵arr2
系统 2019-09-27 17:49:14 2369
在学习Python正则式的过程中,有一个问题一直困扰我,如何去匹配一个反斜杠(即“\”)?一、引入在学习了Python特殊字符和原始字符串之后,我觉得答案应该是这样的:1)普通字符串:'\\'2)原始字符串:r'\'但事实上在提取诸如“3\8”反斜杠之前的数字时,我屡次碰壁,始终得不到结果。最终发现自己理解错了,原来原始字符串和“正则转义”没有一点关系;下面详细谈一谈。二、字符串转义反斜杠,在Python中比较特殊,就是它可以用来构成一些特殊字符,比如“\
系统 2019-09-27 17:50:13 2368
ssl模块缺失表现为在python中执行如下命令importssl会报错。在网上一查,是因为没有安装好openssl,于是参照https://blog.csdn.net/xiaoqingshe0716/article/details/84886976完成了openssl的源码安装。安装完成后,openssl的安装位置在/usr/local/openssl在终端输入opensslversion-a检测安装是否成功,并获取相关信息。完成之后,需要重现编译安装p
系统 2019-09-27 17:46:37 2368
前言:本篇相关内容分为3篇多态、继承、封装,这篇为第二篇继承。本篇内容围绕python基础教程这段:在面向对象编程中,术语对象大致意味着一系列数据(属性)以及一套访问和操作这些数据的方法。使用对象而非全局变量和函数的原因有多个,下面列出了使用对象的最重要的好处。多态:可对不同类型的对象执行相同的操作,而这些操作就像“被施了魔法”一样能够正常运行。封装:对外部隐藏有关对象工作原理的细节。继承:可基于通用类创建出专用类。内容较多,这篇为中篇。Conten
系统 2019-09-27 17:57:35 2367
本文实例讲述了python实现得到一个给定类的虚函数的方法,分享给大家供大家参考。具体如下:现来看看如下代码:importwxformethodindir(wx.PyPanel):#这里改成给定的类ifmethod.startswith("base_"):printmethod输出的结果为:base_AcceptsFocusbase_AcceptsFocusFromKeyboardbase_AddChildbase_DoGetBestSizebase_Do
系统 2019-09-27 17:56:13 2367
前言前段时间总结了weblogic历年来的rce漏洞,并编写了poc,这些漏洞中有好几个都要用到T3协议来发送序列化数据,所以需要用python来模拟实现t3协议,当然t3协议脚本,github上就可以找到,虽然用别人的脚本改一下也可以完成数据的发送,但是我还是很好奇这个t3协议到底怎么构造的,怎么发送数据的,他的协议格式是什么样的,于是再一番查阅资料过后,有了这篇文章。这是正题废话不多说,先丢一份参考资料,当中关于如何模拟t3协议数据包讲的很详细,我这里
系统 2019-09-27 17:52:54 2366
说明:本文简单的介绍了Python3.7.4的安装方法,之所以安装Python3.7是为安装Airflow做铺垫,但不要删除Python2.7等版本,应为系统及其他组件有所依赖。步骤:下载安装包:wgethttps://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz解压:tar-zxvfPython-3.7.4.tgz安装所需依赖:yum-yinstallzlib-develbzip2-developens
系统 2019-09-27 17:45:31 2366
原文链接:https://blog.csdn.net/skye1208/article/details/902644311.查询数据库中数据表是否存在,不存在则创建importpsycopg2conn=psycopg2.connect(host=***,port=***,database=***,user=***,password=***)cur=conn.cursor()try:cur.execute("selectto_regclass("+"\'"+
系统 2019-09-27 17:57:10 2365
我们通过一个简单的事例来展示一下函数的万能参数,我们先写一个最简单的函数deftest(*args,**kwargs):print(args,kwargs)然后定义两个变量l=[1,2,3,4]d={"a":1,"b":2}下面我们分别看下两种传参的方式有什么不同第一种方式test(l,d)如果是使用上面的方式传参,那么l,d这2个变量都会传递给args这个形参,作为args变量的两个元素,kwargs是一个空的字典,没有任何参数传递一个他([1,2,3,
系统 2019-09-27 17:56:13 2365
为什么编程的时候要使用进程、线程、协程?使用它们是为了进行多并发编程。那么为什么要进行多并发编程?因为多并发编程可以减少程序运行的时间,让用户获得更好的体验。1.进程概念:操作系统执行程序分配存储空间的最小单位。一个CPU只能同时处理一个进程。python实现多进程,使用multiprocessing模块的Process类来创建进程。具体代码如下:frommultiprocessingimportProcessfromosimportgetpidimpor
系统 2019-09-27 17:52:02 2365
1调试过程用Python3.6+Sciter+PyCharm写了一个py测试脚本helloworld.py,该脚本中只含有一条语句“importsciter”。在PyCharm中运行之,未报错。#helloworld.pyimportsciter然后将该脚本用PyInstaller打包成exe文件,打包程序pack.py如下:#pack.pyfromPyInstaller.__main__importrunif__name__=='__main__':op
系统 2019-09-27 17:52:27 2364
nginx配置1.相关目录:日志记录与错误记录目录:/var/log/nginx/conf目录:/etc/nginx/conf.d//usr/share/nginx/2.相关命令:检查conf文件nginx-c服务操作sudoservicenginxstart|stop|restart3.配置:先在conf目录分别创建两个同名的conf文件sudotouch/etc/nginx/conf.d/foodtop.confsudotouch/usr/share/
系统 2019-09-27 17:50:49 2364
最近拾回Django学习,实例练习中遇到了对多维字典类型数据的遍历操作问题,Google查询没有相关资料…毕竟是新手,到自己动手时发现并非想象中简单,颇有两次曲折才最终实现效果,将过程记录下来希望对大家有用。实例数据(多重嵌套):person={"male":{"name":"Shawn"},"female":{"name":"Betty","age":23},"children":{"name":{"first_name":"李","last_name"
系统 2019-09-27 17:37:38 2364