python在安装的时候,就自带了很多模块,我们把这些模块称之为标准库,其中,有一个是使用频率比较高的,就是os。这个库中方法和属性众多,有兴趣的看官可以参考官方文档:https://docs.python.org/2/library/os.html,或者在交互模式中,用dir(os)看一看。复制代码代码如下:>>>importos#这个动作很重要,不能缺少>>>dir(os)['EX_CANTCREAT','EX_CONFIG','EX_DATAERR'
系统 2019-09-27 17:55:00 2119
最近的django开发中用到了有序字典,所以研究了一下,以下。示例:有序字典和通常字典类似,只是它可以记录元素插入其中的顺序,而一般字典是会以任意的顺序迭代的。普通字典:由上面的结果可以看出对普通字典进行遍历,输出结果是无序的。下面是有序字典(需要导入collections包):对比两种输出结果,不难发现,有序字典可以按字典中元素的插入顺序来输出。上面两个例子之所以字典中插入元素,而不是一开始就将字典中的元素定义好,是因为有序字典的作用只是记住元素插入顺序
系统 2019-09-27 17:55:00 2119
最近在项目中调用第三方接口时候,经常会出现请求超时的情况,或者参数的问题导致调用异代码异常。针对超时异常,查询了python相关文档,没有并发现完善的包来根据用户自定义的时间来抛出超时异常的模块。所以自己干脆自己来实现一个自定义的超时异常。目前找到了两种方式来实现超时异常的功能(signal.alarm()、threading实现超时异常)方法1thread+time原理:将要调用的功能函数放入子线程,通过设定子线程的阻塞时间,超时则主线程并不会等待子线程
系统 2019-09-27 17:54:54 2119
本文实例为大家分享了python编写简单端口扫描器的具体代码,供大家参考,具体内容如下直接放代码此代码只支持扫描域名,要扫描IP请自己修改fromsocketimport*fromthreadingimportThreadimportoptparsePort=[80,21,23,22,25,110,443,1080,3306,3389,1521,1433]Server=['HTTP','FTP','TELNET','SSH','SMTP','POP3','
系统 2019-09-27 17:52:13 2119
经常写shell脚本知道,字符串判断可以用=,!=数字的判断是-eq,-ne等,但是Python确不是这样子的。所以作为慢慢要转换到用Python写脚本,这些基本的东西必须要掌握到骨子里!在Python中比较字符串最好是使用简单逻辑操作符。例如,确定一个字符串是否和另外一个字符串匹配。正确的,你可以使用isequal或==操作符。你也可以使用例如>=或<来确定几个字符串的排列顺序。从官方文档上看Theoperators``is``and``isnot``t
系统 2019-09-27 17:51:52 2119
ndarray.ndim:维度ndarray.shape:形状ndarray.size:元素个数ndarray.dtype:元素数据类型ndarray.itemsize:字节大小创建数组:a=np.array([2,23,4])#list1dprint(a)#[2234]指定数据类型:a=np.array([2,23,4],dtype=np.int)print(a.dtype)#int64dtype可以指定的类型有int32,float,float32,后
系统 2019-09-27 17:50:47 2119
wtfPython是github上的一个项目,作者收集了一些奇妙的Python代码片段,这些代码的输出结果会和我们想象中的不太一样;通过探寻产生这种结果的内部原因,可以让我们对Python里的一些细节有更广泛的认知。1.字典键的隐式转换some_dict={}some_dict[5.5]="Ruby"some_dict[5.0]="JavaScript"some_dict[5]="Python"输出如下:>>>some_dict{5.0:"Python",
系统 2019-09-27 17:50:47 2119
排列defperm(arr,stack):ifnotarr:print(stack)#到树的最后,输出结果tmp=stack.copy()res.append(tmp)else:#没有到树的叶子节点的时候,使用递归继续往下找。foriinrange(len(arr)):stack.append(arr[i])delarr[i]perm(arr,stack)arr.insert(i,stack.pop())arr=[1,2,3]stack=[]res=[]p
系统 2019-09-27 17:50:13 2119
格式getopt(args,options[,long_options])1.args表示要解析的参数.2.options表示脚本要识别的字符.字符之间用”:”分隔,而且必须要以”:”后结尾,例如”a:b:c:”.3.long_options是可选的,如果指定的话,可以解析长选项.形式为字符串列表,如[‘foo=',‘frob='].长选项要求形式为”�Cname=value”4.该方法返回2个元素.第一个元素是列表对,对中第一个值是带有”-“或者”�C”
系统 2019-09-27 17:50:08 2119
returndeff1(x):y=2**x#没有returndeff2(x):y=2**xreturny#含有returnprint(f1(2),f2(2))return语句退出函数,并返回一个表达式。不带参数值的return语句返回None2.可变参数通过*来定义可变参数默认会把可变参数传入一个元祖!deff(*x):print(x)returnxf(1)f('a','b')f(1,2,3,[44,33])print(type(f('a','b')))定
系统 2019-09-27 17:49:40 2119