拥有Python标签的文章
Python

Python中实现参数类型检查的简单方法

Python是一门弱类型语言,很多从C/C++转过来的朋友起初不是很适应。比如,在声明一个函数时,不能指定参数的类型。用C做类比,那就是所有参数都是void*类型!void类型强制转换在C++中被广泛地认为是个坏习惯,不到万不得已是不会使用的。Python自然没有类型强制转换一说了,因为它是动态语言。首先,所有对象都从Object继承而来,其次,它有强大的内省,如果调用某个不存在的方法会有异常抛出。大多数情况,我们都不需要做参数类型栓查,除了一些特殊情况。

系统 2019-09-27 17:47:04 2103

Python

Python网络爬虫与信息提取——正则表达式

Python网络爬虫与信息提取——正则表达式正则表达式的语法正则表达式的常用操作符操作符说明实例.表示任何单个字符[]字符集,对单个字符给出取值范围[abc]表示a、b、c,[a-z]表示a到z单个字符[^]非字符集,对单个字符给出排除范围[^abc]表示非a或b或c的单个字符*前一个字符0次或无限次扩展abc*表示ab、abc、abcc、abccc等+前一个字符1次或无限次扩展abc+表示abc、abcc、abccc等?前一个字符0次或1次扩展abc?表

系统 2019-09-27 17:46:58 2103

Python

Python实现冒泡,插入,选择排序简单实例

本文所述的Python实现冒泡,插入,选择排序简单实例比较适合Python初学者从基础开始学习数据结构和算法,示例简单易懂,具体代码如下:#-*-coding:cp936-*-#python插入排序definsertSort(a):foriinrange(len(a)-1):#printa,iforjinrange(i+1,len(a)):ifa[i]>a[j]:temp=a[i]a[i]=a[j]a[j]=tempreturna#Python的冒泡排序d

系统 2019-09-27 17:46:45 2103

Python

python做中学(五)多线程的用法

多线程类似于同时执行多个不同程序,多线程运行有如下优点:使用线程可以把占据长时间的程序中的任务放到后台去处理。用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度。程序的运行速度可能加快。在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须

系统 2019-09-27 17:46:37 2103

Python

Python写的创建文件夹自定义函数mkdir()

Python对文件的操作还算是方便的,只需要包含os模块进来,使用相关函数即可实现目录的创建。主要涉及到三个函数:1、os.path.exists(path)判断一个目录是否存在2、os.makedirs(path)多层创建目录3、os.mkdir(path)创建目录直接上代码:复制代码代码如下:defmkdir(path):#引入模块importos#去除首位空格path=path.strip()#去除尾部\符号path=path.rstrip("\\"

系统 2019-09-27 17:46:08 2103

Python

python 插件架构 多线程多任务

目的:很多时候,我们需要多个不同策略去完成一个任务,那个插件架构是很好一个选择。而每一个策略,不希望一个个去执行,还能实时上报数据,所以每一个插件都是异步执行,把每一个插件结果回调方法实时上报,然后写入数据。线程工具类#app/MyThread.pyimportthreadingclassMyThread(threading.Thread):def__init__(self,func,**kwargs):threading.Thread.__init__(

系统 2019-09-27 17:46:01 2103

Python

python脚本实现数据导出excel格式的简单方法(推荐)

实习期间,服务器的一位师兄让我帮忙整理一下服务器的log数据,最终我用Python实现了数据的提取并将其用Excel格式导出。下面是我Python实现的源码,可以自动遍历某一文件目录下的所有文本文件,并将总的数据导出到Excel文件中,导出为Excel格式这样就比较方便统计了。//实现将目录下所有文件格式为.txt的文件进行遍历统计,如果是别的格式直接将下面的.txt改为你所需要的格式后缀就可以了,比较方便。//过程就是先将所有的文件中的内容提取出来写入到

系统 2019-09-27 17:45:28 2103

Python

详解Python的Django框架中的中间件

什么是中间件我们从一个简单的例子开始。高流量的站点通常需要将Django部署在负载平衡proxy之后。这种方式将带来一些复杂性,其一就是每个request中的远程IP地址(request.META["REMOTE_IP"])将指向该负载平衡proxy,而不是发起这个request的实际IP。负载平衡proxy处理这个问题的方法在特殊的X-Forwarded-For中设置实际发起请求的IP。因此,需要一个小小的中间件来确保运行在proxy之后的站点也能够在r

系统 2019-09-27 17:38:42 2103

Python

深入浅析python继承问题

有如下的代码:classp1:def__init__(self,a,b):print("initinp1")self.a1=aself.b1=bself.f1()deff1(self):print("f1inp1")classc1(p1):def__init__(self,a,b,c=2):print("initinc1")p1.__init__(self,a,b)self.c1=cself.f1()deff1(self):print("f1inp2")c

系统 2019-09-27 17:38:39 2103

Python

Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法

本文实例讲述了PythonMongoDB插入数据时已存在则不执行,不存在则插入的解决方法。分享给大家供大家参考,具体如下:前言:想把QQ日志爬虫(Python)爬下来的日志保存到MongoDB里面。但insert的时候报错:E11000duplicatekeyerrorcollection:QQ.Blogindex:_id_dupkey:{:"965464518_1301232446"}后来知道错误的原因是:插入的数据和已有数据的ID重复了。我想要的是:插

系统 2019-09-27 17:38:32 2103

Python

C++/Php/Python/Shell 程序按行读取文件或者控制台的实现

写程序经常需要用到从文件或者标准输入中按行读取信息,这里汇总一下。方便使用1.C++读取文件#include#includeintmain(){constchar*in_file="input_file_name";constchar*out_file="output_file_name";FILE*p_in=fopen(in_file,"r");if(!p_in){printf("openfile%sfailed!!!",in_file);return-

系统 2019-09-27 17:38:25 2103

Python

介绍Python的Django框架中的QuerySets

Django的QuerySets酷毙了!在本文中我将解释一下QuerySets是什么,它是如何工作的(如果你对它已经熟悉了,你可以直接跳到第二部分),我认为如果可以的话你应该总是返回QuerySets对象,下面让我来谈谈如何做。QuerySets很酷QuerySet,本质上是一个给定的模型的对象列表。我说“列表”而不是“组”或更正式的“集合”因为它是有序的。事实上,你可能已经熟悉如何获得QuerySets,因为这就是你调用variousBook.objec

系统 2019-09-27 17:38:24 2103

Python

Python之os操作方法(详解)

1.os.path.driname(path):返回路径的上一级路径字符串。>>>os.path.dirname('D:\Games')'D:\\'>>>2.os.path.basename(path):返回路径的最后一级目录名(文件夹名)或文件名(全称)。>>>os.path.basename('D:\Games\9yin_632\蜗牛整包\\0x0804.ini')'0x0804.ini'>>>3.os.path.splitext(file_name)

系统 2019-09-27 17:38:14 2103

Python

如何在Python中编写并发程序

GIL在Python中,由于历史原因(GIL),使得Python中多线程的效果非常不理想.GIL使得任何时刻Python只能利用一个CPU核,并且它的调度算法简单粗暴:多线程中,让每个线程运行一段时间t,然后强行挂起该线程,继而去运行其他线程,如此周而复始,直到所有线程结束.这使得无法有效利用计算机系统中的"局部性",频繁的线程切换也对缓存不是很友好,造成资源的浪费.据说Python官方曾经实现了一个去除GIL的Python解释器,但是其效果还不如有GIL

系统 2019-09-27 17:37:58 2103

Python

请不要重复犯我在学习Python和Linux系统上的错误

本人已经在运维行业工作了将近十年,我最早接触Linux是在大二的样子,那时候只追求易懂,所以就选择了Ubuntu作为学习、使用的对象,它简单、易用、好操作、界面绚丽,对于想接触Linux的新手来说是非常不错的。后来因为个人的知识有限,玩不转Linux的种种配置、各种插件以及软件缺失,加之没有持之以恒的坚持下去,使用了一段时间后感觉Bug多、没游戏、办公写文档也不方便,很多软件需要现学,最终希望用大学时光学习Linux的愿望夭折了。后来一段时间里,自己接触了

系统 2019-09-27 17:37:48 2103