搜索到与相关的文章
Python

Python中eval带来的潜在风险代码分析

0x00前言eval是Python用于执行python表达式的一个内置函数,使用eval,可以很方便的将字符串动态执行。比如下列代码:>>>eval("1+2")>>>eval("[xforxinrange(10)]")[0,1,2,3,4,5,6,7,8,9]当内存中的内置模块含有os的话,eval同样可以做到命令执行:>>>importos>>>eval("os.system('whoami')")win-20140812chj\administrat

系统 2019-09-27 17:53:02 1993

Python

Python守护进程(daemon)代码实例

#-*-coding:utf-8-*-importsys,os'''将当前进程fork为一个守护进程注意:如果你的守护进程是由inetd启动的,不要这样做!inetd完成了所有需要做的事情,包括重定向标准文件描述符,需要做的事情只有chdir()和umask()了'''defdaemonize(stdin='/dev/null',stdout='/dev/null',stderr='dev/null'):'''Fork当前进程为守护进程,重定向标准文件描述

系统 2019-09-27 17:51:55 1993

Python

Python 实现数据结构-堆栈和队列的操作方法

队、栈和链表一样,在数据结构中非常基础一种数据结构,同样他们也有各种各样、五花八门的变形和实现方式。但不管他们形式上怎么变,队和栈都有其不变的最基本的特征,我们今天就从最基本,最简单的实现来看看队列和堆栈。不管什么形式的队列,它总有的一个共同的特点就是“先进先出”。怎么理解呢?就像是超市排队结账,先排队的人排在队的前面,先结账出队。这是队列的特征。而堆栈则和队列相反,它是“先进后出”,怎么理解呢?基本所有的编辑器都有一个撤销功能,就是按Ctrl+Z。当你写

系统 2019-09-27 17:50:25 1993

Python

如何用Python搭建一个简单的推荐系统?

推荐系统的相关知识我们已在前文中提到,在这篇文章中,我们会介绍如何用Python来搭建一个简单的推荐系统。本文使用的数据集是MovieLens数据集,该数据集由明尼苏达大学的Grouplens研究小组整理。它包含1,10和2亿个评级。Movielens还有一个网站,我们可以注册,撰写评论并获得电影推荐。接下来我们就开始实战演练。在这篇文章中,我们会使用Movielens构建一个基于item的简易的推荐系统。在开始前,第一件事就是导入pandas和numPy

系统 2019-09-27 17:49:46 1993

Python

python开发游戏的前期准备

本文章面向有一定基础的python学习者,使用Pygame包开发一款简单的游戏首先打开命令行,使用PyPI下载Pygame包(输入命令pipinstallpygame)打开python编辑器(vs,IDLE,或其他),再引入包定义一些需要用到的数据先使用pygame包创建一个游戏窗口,然后使用循环将窗口展示出来,运行会出现下图现在定义一个可操控的小球类Player,draw()方法可以使它展示在屏幕上,update()方法让小球跟随鼠标移动类似的,定义不可

系统 2019-09-27 17:49:28 1993

Python

Python try_finally

原文链接:https://my.oschina.net/xiaocon/blog/199414finally关键字的意思是只要异常,到最后都会执行语句块。。。#!/usr/bin/pythonimporttimetry:f=file('poem.txt')whileTrue:line=f.readline()iflen(line)==0:breaktime.sleep(2)printline,finally:f.close()print'file.clos

系统 2019-09-27 17:49:21 1993

Python

python实现简单五子棋游戏

本文实例为大家分享了python实现简单五子棋游戏的具体代码,供大家参考,具体内容如下fromgraphicsimport*frommathimport*importnumpyasnpdefai():"""AI计算落子位置"""maxmin(True,DEPTH,-99999999,99999999)returnnext_point[0],next_point[1]defmaxmin(is_ai,depth,alpha,beta):"""负值极大算法搜索a

系统 2019-09-27 17:48:49 1993

Python

python生成式的send()方法(详解)

随便在网上找了找,感觉都是讲半天讲不清楚,这里写一下。defgenerator():whileTrue:receive=yield1print('extra'+str(receive))g=generator()print(next(g))print(g.send(111))print(next(g))输出:1extra1111extraNone1为什么会这样呢,点进send就能看到一句话send:Resumesthegeneratorand"sends"

系统 2019-09-27 17:48:19 1993

Python

Python Deque 模块使用详解

创建Deque序列:fromcollectionsimportdequed=deque()Deque提供了类似list的操作方法:d=deque()d.append('1')d.append('2')d.append('3')len(d)d[0]d[-1]输出结果:3'1''3'两端都使用pop:d=deque('12345')len(d)d.popleft()d.pop()d输出结果:5'1''5'deque(['2','3','4'])我们还可以限制d

系统 2019-09-27 17:47:59 1993

Python

python 使用装饰器并记录log的示例代码

1.首先定义一个log文件#-*-coding:utf-8-*-importosimporttimeimportloggingimportsyslog_dir1=os.path.join(os.path.dirname(os.path.dirname(__file__)),"logs")today=time.strftime('%Y%m%d',time.localtime(time.time()))full_path=os.path.join(log_di

系统 2019-09-27 17:47:58 1993