你用Python写过哪些牛逼的程序/脚本? 您所在的位置:网站首页 php运行python脚本 你用Python写过哪些牛逼的程序/脚本?

你用Python写过哪些牛逼的程序/脚本?

#你用Python写过哪些牛逼的程序/脚本?| 来源: 网络整理| 查看: 265

有网友在 Quora 上提问,「你用 Python 写过最牛逼的程序/脚本是什么?」。本文摘编了3 个国外程序员的多个小项目,含代码。

Manoj Memana Jayakumar, 3000+ 顶

更新:凭借这些脚本,我找到了工作!可看我在这个帖子中的回复,《Has anyone got a job through Quora? Or somehow made lots of money through Quora?》

1. 电影/电视剧 字幕一键下载器

我们经常会遇到这样的情景,就是打开字幕网站subscene 或者opensubtitles, 搜索电影或电视剧的名字,然后选择正确的抓取器,下载字幕文件,解压,剪切并粘贴到电影所在的文件夹,并且需把字幕文件重命名以匹配电影文件的名字。是不是觉得太无趣呢?对了,我之前写了一个脚本,用来下载正确的电影或电视剧字幕文件,并且存储到与电影文件所在位置。所有的操作步骤仅需一键就可以完成。懵逼了吗?

请看这个 Youtube 视频:https://youtu.be/Q5YWEqgw9X8

源代码存放在GitHub:subtitle-downloader

更新:目前,该脚本支持多个字幕文件同时下载。步骤:按住 Ctrl ,选择你想要为其下载字幕的多个文件 , 最后执行脚本即可

2. IMDb 查询/电子表格生成器

我是一个电影迷,喜欢看电影。我总是会为该看哪一部电影而困惑,因为我搜集了大量的电影。所以,我应该如何做才能消除这种困惑,选择一部今晚看的电影?没错,就是IMDb。我打开http://imdb.com,输入电影的名字,看排名,阅读和评论,找出一部值得看的电影。

但是,我有太多电影了。谁会想要在搜索框输入所有的电影的名字呢? 我肯定不会这样做,尤其是我相信“如果某些东西是重复性的,那么它应该是可以自动化的”。因此,我写了一个 python 脚本, 目的是为了使用 非官方的 IMDb API 来获取数据。我选择一个电影文件(文件夹),点击右键,选择‘发送到’,然后 点击 IMDB.cmd (顺便提一下,IMDB.cmd 这个文件就是我写的 python 脚本),就是这样。

我的浏览器会打开这部电影在IMDb网站上的准确页面。

仅仅只需点击一个按键,就可以完成如上操作。如果你不能够了解这个脚本到底有多酷,以及它可以为你节省多少时间,请看这个 Youtube视频:https://youtu.be/JANNcimQGyk

从现在开始,你再也不需要打开你的浏览器,等待加载IMDb的页面,键入电影的名字。这个脚本会帮你完成所有的操作。跟往常一样,源代码放在了GitHub:imdb,并且附有操作说明。当然,由于这个脚本必须去掉文件或文件夹中的无意义的字符,比如“DVDRip, YIFY, BRrip”等,所以在运行脚本的时候会有一定比例的错误。但是经过测试,这个脚本在我几乎所有的电影文件上都运行的很好。

2014-04-01更新:

许多人在问我是否可以写一个脚本,可以发现一个文件夹中所有电影的详细信息,因为每一次只能发现一个电影的详细信息是非常麻烦的。我已经更新了这个脚本,支持处理整个文件夹。脚本会分析这个文件夹里的所有子文件夹,从 IMDb上抓取所有电影的详细信息 ,然后打开一个电子表格,根据IMDb 上的排名,从高到低降序排列所有的电影。这个表格中包含了 (所有电影)在 IMDb URL, 年份,情节,分类,获奖信息,演员信息,以及其他的你可能在 IMBb找到的信息。下面是脚本执行后,生成的表格范例:

Your very own personal IMDb database! What more can a movie buff ask for? ;)Source on GitHub:imdb

你也可以有一个个人IMDb数据库!一个电影爱好者还能够要求更多吗?:)

源代码在GitHub:imdb

3. theoatmeal.com 连载漫画下载器

我个人超级喜欢 Matthew Inman 的漫画。它们在疯狂搞笑的同时,却又发人深省。但是,我很厌烦重复点击下一个,然后才能阅读每一个漫画。另外,由于每一个漫画都由多福图片组成,所以手动下载这些漫画是非常困难的。

基于如上原因,我写了一个 python 脚本 ,用来从这个站点下载所有的漫画。这个脚本利用 BeautifulSoup (http://www.crummy.com/software/B…) 解析 HTML 数据, 所以在运行脚本前,必须安装 BeautifulSoup。 用于下载燕麦片(马修.英曼的一部漫画作品)的下载器已经上传到GitHub:theoatmeal.com-downloader 。(漫画)下载完后的文件夹是这样的 :D

4.someecards.com 下载器

成功地从http://www.theoatmeal.com下载了整部漫画后,我在想是否我可以做同样的事情 , 从另一个我喜欢的站点— 搞笑的,唯一的http://www.someecards.com. 下载一些东西呢?

somececards 的问题是,图片命名是完全随机的,所有图片的排放没有特定的顺序,并且一共有52 个大的类别, 每一个类别都有数以千计的图片。

我知道,如果我的脚本是多线程的话,那将是非常完美的,因为有大量的数据需要解析和下载,因此我给每一个类别中的每一页都分配一个线程。这个脚本会从网站的每一个单独的分类下载搞笑的电子贺卡,并且把每一个放到单独的文件夹。现在,我拥有这个星球上最好笑的电子贺卡私人收藏。下载完成后,我的文件夹是这样的:

没错,我的私人收藏总共包括:52个类别,5036个电子贺卡。 源代码在这里:someecards.com-downloader

编辑:很多人问我是否可以共享我下载的所有文件,(在这里,我要说)由于我的网络不太稳定,我没办法把我的收藏上传到网络硬盘,但是我已经上传一个种子文件,你们可以在这里下载:somecards.com Site Rip torrent

种下种子,传播爱:)

Akshit Khurana,4400+ 顶

感谢500多个朋友在Facebook上为我送出的生日祝福

有三个故事让我的21岁生日变的难忘,这是最后一个故事。我倾向于在每一条祝福下亲自评论,但是使用 python 来做更好。

# Thanking everyone who wished me on my birthdayimport requestsimport json# Aman's post timeAFTER = 1353233754TOKEN = ' 'def get_posts(): """Returns dictionary of id, first names of people who posted on my wall between start and end time""" query = ("SELECT post_id, actor_id, message FROM stream WHERE " "filter_key = 'others' AND source_id = me() AND " "created_time > 1353233754 LIMIT 200") payload = {'q': query, 'access_token': TOKEN} r = requests.get('https://graph.facebook.com/fql', params=payload) result = json.loads(r.text) return result['data']def commentall(wallposts): """Comments thank you on all posts""" #TODO convert to batch request later for wallpost in wallposts: r = requests.get('https://graph.facebook.com/%s' % wallpost['actor_id']) url = 'https://graph.facebook.com/%s/comments' % wallpost['post_id'] user = json.loads(r.text) message = 'Thanks %s :)' % user['first_name'] payload = {'access_token': TOKEN, 'message': message} s = requests.post(url, data=payload) print "Wall post %s done" % wallpost['post_id']if __name__ == '__main__': commentall(get_posts())

为了能够顺利运行脚本,你需要从Graph API Explorer(需适当权限)获得 token。 本脚本假设特定时间戳之后的所有帖子都是生日祝福。

尽管对评论功能做了一点改变,我仍然喜欢每一个帖子。

当我的点赞数,评论数以及评论结构在 ticker(Facebook一项功能,朋友可以看到另一个朋友在做什么,比如点赞,听歌,看电影等) 中爆涨后,我的一个朋友很快发现此事必有蹊跷。

尽管这个不是我最满意的脚本,但是它简单,快捷,有趣。

当我和Sandesh Agrawal在网络实验室讨论时,有了写这个脚本的想法。 为此,Sandesh Agrawal耽搁了实验室作业,深表感谢。

Tanmay Kulshrestha,3300+ 顶

好了,在我失去这个项目之前(一个猪一样的朋友格式化了我的硬盘,我的所有代码都在那个硬盘上)或者说,在我忘记这些代码之前,我决定来回答这个问题。

整理照片

当我对图像处理感兴趣之后,我一直致力于研究机器学习。我写这个有趣的脚本,目的是为了分类图片,很像 Facebook 做的那样(当然这是一个不够精确的算法)。 我使用了 OpenCV 的人脸检测算法,“haarcascade_frontalface_default.xml”,它可以从一张照片中检测到人脸。

你可能已经察觉到这张照片的某些地方被错误地识别为人脸。 我试图通过修改一些参数(来修正这一问题),但还是某些地方被错误地识别为人脸,这是由相机的相对距离导致的。我会在下一阶段解决这一问题(训练步骤)。

这个训练算法需要一些训练素材,每个人需要至少需要100-120个训练素材(当然多多益善)。 我太懒了,并没有为每一个人挑选照片,并把它们复制粘帖到训练文件夹。所以,你可能已经猜到,这个脚本会打开一个图片,识别人脸,并显示每一个人脸(脚本会根据处于当前节点的训练素材给每一个人脸预测一个名字)。伴随着每次你标记的照片,Recognizer 会被更新,并且还会包含上一次的训练素材。 在训练过程中,你可以增加新的名字。我使用 python 库 tkinter 做了一个 GUI。 因此,大多数时候,你必须初始化一小部分照片(给照片中的人脸命名),其他的工作都可以交给训练算法。 因此,我训练了 Recognizer ,然后让它(Recognizer)去处理所有的图片。

我使用图片中包含的人的人名来命名图片,(例如: Tanmay&*****&*****)。 因此,我可以遍历整个文件夹,然后可以通过输入人名的方法来搜索图片。

初始状态下,当一个人脸还没有训练素材时(素材库中还没有包括这个人脸的名字),需要询问他/她的名字。

我可以增加一个名字,像这个样子:

当训练了几个素材后,它会像这个样子:

最后一个是针对应对那些垃圾随机方块而使用的变通解决方案。

带名字的最终文件夹。

所以,现在寻找图片变得相当简单。顺便提一下,很抱歉(我)放大了这些照片。

import cv2import sysimport os,random,string#choices=['Add a name']import oscurrent_directory=os.path.dirname(os.path.abspath(__file__))from Tkinter import Tkfrom easygui import *import numpy as npx= os.listdir(current_directory)new_x=[]testing=[]for i in x:if i.find('.')==-1:new_x+=[i]else:testing+=[i]x=new_xg=xchoices=['Add a name']+xy= range(1,len(x)+1)def get_images_and_labels():global current_directory,x,y,gif x==[]:return (False,False)image_paths=[]for i in g:path=current_directory+''+ifor filename in os.listdir(path):final_path=path+''+filenameimage_paths+=[final_path]# images will contains face imagesimages = []# labels will contains the label that is assigned to the imagelabels = []for image_path in image_paths:# Read the image and convert to grayscaleimg = cv2.imread(image_path,0)# Convert the image format into numpy arrayimage = np.array(img, 'uint8')# Get the label of the imagebackslash=image_path.rindex('')underscore=image_path.index('_',backslash)nbr = image_path[backslash+1:underscore]t=g.index(nbr)nbr=y[t]# If face is detected, append the face to images and the label to labelsimages.append(image)labels.append(nbr)#cv2.imshow("Adding faces to traning set...", image)#cv2.waitKey(50)# return the images list and labels listreturn images, labels# Perform the traniningdef train_recognizer():recognizer = cv2.createLBPHFaceRecognizer()images, labels = get_images_and_labels()if images==False:return Falsecv2.destroyAllWindows()recognizer.train(images, np.array(labels))return recognizerdef get_name(image_path,recognizer):global x,choices#if recognizer=='':# recognizer=train_recognizer()cascadePath = "haarcascade_frontalface_default.xml"faceCascade = cv2.CascadeClassifier(cascadePath)#recognizer=train_recognizer()x1=testingglobal gprint image_pathimage = cv2.imread(image_path)img = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)predict_image = np.array(img, 'uint8')faces = faceCascade.detectMultiScale(img,scaleFactor=1.3,minNeighbors=5,minSize=(30, 30),flags = http://cv2.cv.CV_HAAR_SCALE_IMAGE)for (x, y, w, h) in faces:f= image[y:y+w,x:x+h]cv2.imwrite('temp.jpg',f)im='temp.jpg'nbr_predicted, conf = recognizer.predict(predict_image[y: y + h, x: x + w])predicted_name=g[nbr_predicted-1]print "{} is Correctly Recognized with confidence {}".format(predicted_name, conf)if conf>=140:continuemsg='Is this '+predicted_namereply = buttonbox(msg, image=im, choices=['Yes','No'])if reply=='Yes':reply=predicted_namedirectory=current_directory+''+replyif not os.path.exists(directory):os.makedirs(directory)random_name=''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(7))path=directory+''+random_name+'.jpg'cv2.imwrite(path,f)else:msg = "Who is this?"reply = buttonbox(msg, image=im, choices=choices)if reply == 'Add a name':name=enterbox(msg='Enter the name', title='Training', strip=True)print namechoices+=[name]reply=namedirectory=current_directory+''+replyif not os.path.exists(directory):os.makedirs(directory)random_name=''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(7))path=directory+''+random_name+'.jpg'print pathcv2.imwrite(path,f)# calculate window positionroot = Tk()pos = int(root.winfo_screenwidth() * 0.5), int(root.winfo_screenheight() * 0.2)root.withdraw()WindowPosition = "+%d+%d" % pos# patch rootWindowPositionrootWindowPosition = WindowPositiondef detect_faces(img):global choices,current_directoryimagePath = imgfaceCascade = cv2.CascadeClassifier(cascPath)image = cv2.imread(imagePath)gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)faces = faceCascade.detectMultiScale(gray,scaleFactor=1.3,minNeighbors=5,minSize=(30, 30),flags = http://cv2.cv.CV_HAAR_SCALE_IMAGE)print "Found {0} faces!".format(len(faces))m=0for (x, y, w, h) in faces:m+=1padding=0f= image[y-padding:y+w+padding,x-padding:x+h+padding]cv2.imwrite('temp.jpg',f)im='temp.jpg'msg = "Who is this?"reply = buttonbox(msg, image=im, choices=choices)if reply == 'Add a name':name=enterbox(msg='Enter the name', title='Training', strip=True)print namechoices+=[name]reply=namedirectory=current_directory+''+replyif not os.path.exists(directory):os.makedirs(directory)random_name=''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(7))path=directory+''+random_name+'.jpg'print pathcv2.imwrite(path,f)def new(img,recognizer):imagePath = current_directory+''+imgprint imagePathget_name(imagePath,recognizer)cascPath = 'haarcascade_frontalface_default.xml'b=0os.system("change_name.py")for filename in os.listdir("."):b+=1if b%10==0 or b==1:os.system("change_name.py")recognizer=train_recognizer()if filename.endswith('.jpg') or filename.endswith('.png'):print filenameimagePath=filename#detect_faces(imagePath)new(imagePath,recognizer)os.remove(filename)raw_input('Done with this photograph')

我想进一步修改它的搜索功能,其中会包含更多的搜索类型,比如基于地理位置,微笑的脸,伤心的脸等等。(这样我就可以在 Skylawns 上 搜索快乐的 Tanmay & 沮丧的 Akshay & 快乐的…)

我还写了很多脚本,但那都是很久之前的事情了,我也懒得再去检查这些代码了,我会列出部分代码。

GitHub 链接:tanmay2893/Image-Sorting

Gmail 邮件通知

在那段时间,我没有智能手机。 导致我常常错过来自于我所在的研究所的邮件(在我的研究所的邮件 ID),我写了一个脚本,可以在我的笔记本上运行,而且能给我的手机发信息。我使用 python 的 IMAP 库来获取邮件。我可以输入一些重要的人的名字,这样一来,当这些人给我发了邮件后,我可以收到短信通知。对于短信, 我使用了way2sms.com(写了一个 python 脚本,自动登陆我的账户,然后发送 短信)。

PNR(Passenger Name Record旅客订座记录,下同)状态短讯

铁路方面不经常发送 PNR 状态消息。因此,我写了一个脚本,可以从印度铁路网站获取 PNR 状态。这是非常容易的,因为那个网站没有验证码,即使有,也只是形同虚设的验证码(在过去,一些字母会被写在看起来像图片一样的东西上面,因为他们为这些字母使用了一个 “check” 的背景图)。 我们可以轻松地从 HTML 网页得到这些字母。我不明白他们这样做的目的是什么,难道仅仅是为了愚弄他们自己吗? 不管怎么样,我使用短信息脚本来处理它,经过一段时间间隔,它会在我的笔记本上运行一次,就像是一个定时任务,只要 PNR 状态有更新,它就会把更新信息发送给我。

YouTube 视频下载器

这个脚本会从 Youtube 页面下载所有的 Youtube 视频 以及他们所有的字幕文件(从Download and save subtitles下载)。为了使下载速度更快一点,我使用了多线程。还有一个功能是,即使你的电脑重启了,仍然可以暂停和恢复播放下载的(视频)。我原本想做一个UI的,但是我太懒了… 一旦我的下载任务完成,我就不去关心 UI 的事情了。

板球比分通知器

我猜想这个功能已经在别的地方提到过了。一个窗口通知器。(在右下角的通知区域,它会告诉你实时比分以及评论信息)。如果你愿意的化,在某些时间段,你也可以关掉它。

WhatsApp 消息

这个并不太实用,我只是写着玩玩。因为 Whatsapp 有网页版,我使用 selenium 和 Python 下载我的所有联系人的显示图片,并且,一旦有人更新了他们的显示图片,我将会知道。(如何做到的?非常简单,在设定好时间间隔后,我会一遍又一遍的不停下载所有的头像信息,一旦照片的尺寸发生变化,我将会知道他/她更新了显示图片)。然后我会给他/她发一个信息,不错的头像。我仅仅使用了一次来测试它的可用性。

Nalanda 下载器

我们一般在这个叫 ‘Nalanda’ 的网站上下载一些教学课件以及其他的课程资料, ‘Nalanda’ 在 BITS Pilani (Nalanda). 我自己懒得在考试前一天下载所有的课件,所以,我写了这个这个下载器,它可以把每一门科的课件下载到相应的文件夹。

代码:

import mechanize,os,urllib2,urllib,requests,getpass,timestart_time = time.time()from bs4 import BeautifulSoupbr=mechanize.Browser()br.open('https://nalanda.bits-pilani.ac.in/login/index.php')br.select_form(nr=0) name=''while name=='': try: print '*******' username=raw_input('Enter Your Nalanda Username: ') password=getpass.getpass('Password: ') br.form['username']=username br.form['password']=password res=br.submit() response=res.read() soup=BeautifulSoup(response) name=str(soup.find('div',attrs={'class':'logininfo'}).a.string)[:-2] except: print 'Wrong Password'f=open('details.txt','w')f.write(username+'n'+password)f.close()print 'Welcome, '+nameprint 'All the files will be downloaded in your Drive C in a folder named "nalanda"'#print soup.prettify()div=soup.find_all('div',attrs={'class':'box coursebox'})l=len(div)a=[]for i in range(l): d=div[i] s=str(d.div.h2.a.string) s=s[:s.find('(')] c=(s,str(d.div.h2.a['href'])) path='c:nalanda'+c[0] if not os.path.exists(path): os.makedirs(path) a+=[c]#print aoverall=[]for i in range(l): response=br.open(a[i][1]) page=response.read() soup=BeautifulSoup(page) li=soup.find_all('li',attrs={'class':'section main clearfix'}) x=len(li) t=[] folder=a[i][0] print 'Downloading '+folder+' files...' o=[] for j in range(x): g=li[j].ul #print g #raw_input('') if g!=None: temp=http://g.li['class'].split(' ') #raw_input('') if temp[1]=='resource': #print 'yes' #print '********************' o+=[j] h=li[j].find('div',attrs={'class':'content'}) s=str(h.h3.string) path='c:nalanda'+folder if path[-1]==' ': path=path[:-1] path+=''+s if not os.path.exists(path): os.makedirs(path) f=g.find_all('li') r=len(f) z=[] for e in range(r): p=f[e].div.div.a q=f[e].find('span',attrs={'class':'resourcelinkdetails'}).contents link=str(p['href']) text=str(p.find('span').contents[0]) typ='' if str(q[0]).find('word')!=-1: typ='.docx' elif str(q[0]).find('JPEG')!=-1: typ='.jpg' else: typ='.pdf' if typ!='.docx': res=br.open(link) soup=BeautifulSoup(res.read()) if typ=='.jpg': di=soup.find('div',attrs={'class':'resourcecontent resourceimg'}) link=di.img['src'] else: di=soup.find('div',attrs={'class':'resourcecontent resourcepdf'}) link=di.object['data'] try: if not os.path.exists(path+''+text+typ): br.retrieve(link,path+''+text+typ)[0] except: print 'Connectivity Issues' z+=[(link,text,typ)] t+=[(s,z)] if t==[]: print 'No Documents in this subject' overall+=[o] #raw_input('Press any button to resume')#print overallprint 'Time Taken to Download: '+str(time.time()-start_time)+ ' seconds'print 'Do you think you can download all files faster than this :P'print 'Closing in 10 seconds'time.sleep(10)

我自己的 DC++

这个脚本并不是很有用,目前只有一些学生在用它, 况且,DC ++ 已经提供了一些很酷的功能。我原本可以优化我自己的版本,但是,由于我们已经有了DC ++,我并没有这么做,尽管我已经使用 nodeJS 和 python 写了一个基础版本。

工作原理:

打开 DC++ , 进入一个中心站点,然后连接,我写了一个 python 脚本来做这件事。 脚本会在 PC上创建一个服务器(可以通过修改 SimpleHTTPRequestHandler 来完成)。

在服务器端(使用了NodeJS),它会拿到 PC 的连接,共享给其他的用户。

这个是主页面:

这个页面显示了所有的用户和他们的链接。因为我给 Nick 加了一个超链接,所以在链接这一拦是空的。

所以,当用户数量增加以后,这个页面会列出所有的用户列表。基本上,这个页面充当了一个你和另外一个人联系的中间人角色。 我还做了一个在所有用户中搜索特定文件的功能。

这里是客户端的 python 文件(这是一段很长的代码,我上传到了 Ideone)

所有这些代码仅仅用于教育目的。

英文:Quora

http://python.jobbole.com/85986/

原文标题:你用 Python 写过哪些牛逼的程序/脚本?

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

扫一扫,分享给好友

复制链接分享 评论

发布评论请先 登录

相关推荐

python正则表达式中的常用函数 编译正则表达式模式,返回一个正则对象的模式。(可以把那些常用的正则表达式编译成正则表达式对象,这样可.... 的头像 python爬虫知识分享 发表于 03-18 16:12 • 291次 阅读 python正则表达式中的常用函数 1、compile():编译正则表达式模式,返回一个正则对象的模式。(可以把那些常用的正则表达式编译成正则表达式对象,这样可以提高... 发表于 03-18 16:12 • 2704次 阅读 python正则表达式数量词 这部分理解一下数量词,为什么要用数量词,想想都知道,如果你要匹配几十上百的字符时,难道你要一个一个的写,所以就出现了数量... 发表于 03-18 16:05 • 2789次 阅读 详解python正则表达式数量词 这部分理解一下数量词,为什么要用数量词,想想都知道,如果你要匹配几十上百的字符时,难道你要一个一个的.... 的头像 python爬虫知识分享 发表于 03-18 16:05 • 285次 阅读 python正则表达式字符集 字符集是由一对方括号 “[]” 括起来的字符集合。使用字符集,可以匹配多个字符中的一个。 举个例子,比如你使用 C[ET]O 匹... 发表于 03-17 16:48 • 2878次 阅读 python正则表达式字符集 字符集是由一对方括号 “[]” 括起来的字符集合。使用字符集,可以匹配多个字符中的一个。 举个例子,.... 的头像 python爬虫知识分享 发表于 03-17 16:48 • 306次 阅读 初识 Python 正则表达式 正则表达式是一个特殊的字符序列,用于判断一个字符串是否与我们所设定的字符序列是否匹配,也就是说检查一个字符串是否与某种模... 发表于 03-17 16:44 • 2339次 阅读 初识 Python 正则表达式 正则表达式是一个特殊的字符序列,用于判断一个字符串是否与我们所设定的字符序列是否匹配,也就是说检查一.... 的头像 python爬虫知识分享 发表于 03-17 16:44 • 291次 阅读 从 yield 开始入门python协程 简单介绍 yield本篇文章会先向你介绍一个陌生的 Python 关键词,他和 return 就像一对新兄弟,有相似之处,又各有不同。 相似的... 发表于 03-16 16:21 • 146次 阅读 从yield开始入门python协程 本篇文章会先向你介绍一个陌生的 Python 关键词,他和 return 就像一对新兄弟,有相似之处.... 的头像 python爬虫知识分享 发表于 03-16 16:20 • 212次 阅读 线程池创建的两种方法 1. 使用内置模块在使用多线程处理任务时也不是线程越多越好,由于在切换线程的时候,需要切换上下文环境,依然会造成cpu的大量开... 发表于 03-16 16:15 • 139次 阅读 python创建线程池的两种方法 在使用多线程处理任务时也不是线程越多越好,由于在切换线程的时候,需要切换上下文环境,依然会造成cpu.... 的头像 python爬虫知识分享 发表于 03-16 16:15 • 196次 阅读 使用Python实现五个自动化场景 相比大家都听过自动化生产线、自动化办公等词汇,在没有人工干预的情况下,机器可以自己完成各项任务,这大.... 的头像 Linux爱好者 发表于 03-16 11:13 • 145次 阅读 使用AioHttp异步抓取火星图片 让我们从一个简单的应用程序开始,只是为了启动和运行aiohttp。首先,创建一个新的virtuale.... 的头像 马哥Linux运维 发表于 03-16 09:58 • 140次 阅读 如何用python爬取抖音app数据 记录一下如何用python爬取app数据,本文以爬取抖音视频app为例。 的头像 马哥Linux运维 发表于 03-16 09:07 • 169次 阅读 python创建多线程的两种方法 1. 用函数创建多线程在Python3中,Python提供了一个内置模块 threading.Thread,可以很方便地让我们创建多线程。 threading.... 发表于 03-15 16:47 • 965次 阅读 python创建多线程的两种方法 1. 用函数创建多线程 在Python3中,Python提供了一个内置模块 threading.Th.... 的头像 python爬虫知识分享 发表于 03-15 16:47 • 319次 阅读 python多线程和多进程对比 1. 基本概念在开始讲解理论知识之前,先过一下几个基本概念。虽然咱是进阶教程,但我也希望写得更小白,更通俗易懂。 串行:一个... 发表于 03-15 16:42 • 450次 阅读 python多线程和多进程的对比 1. 基本概念 在开始讲解理论知识之前,先过一下几个基本概念。虽然咱是进阶教程,但我也希望写得更小白.... 的头像 python爬虫知识分享 发表于 03-15 16:42 • 308次 阅读 python多线程和多进程的对比 手把手教你使用Python提取快递信息 现在快递遍布生活的角角落落,一个快递其实是信息的集合体,里面包含大量的物流信息。在面对一大堆快递信息需要我们进行按省份... 发表于 03-15 16:37 • 1014次 阅读 基于Python语言的RFM模型讲解 上面步骤可以知道,我们需要有RFM三个维度,根据我们在业务分析方法课程中学到的,业务分析模型离不开指.... 的头像 数据分析与开发 发表于 03-15 15:38 • 177次 阅读 理解python模块的缓存 在一个模块内部重复引用另一个相同模块,实际并不会导入两次,原因是在使用关键字 import 导入模块时,它会先检索 sys.modules 里... 发表于 03-14 16:42 • 1078次 阅读 一文理解python模块的缓存 在一个模块内部重复引用另一个相同模块,实际并不会导入两次,原因是在使用关键字 import 导入模块.... 的头像 python爬虫知识分享 发表于 03-14 16:42 • 190次 阅读 关于python包导入的三个冷门知识点 使用 from module import * 默认情况下会导入 module 里的所有变量,若你只.... 的头像 python爬虫知识分享 发表于 03-14 16:33 • 218次 阅读 一文了解pip的超全使用指南 由于默认情况下,wheel 包的平台是运行 pip download 命令 的平台,所以可能出现平台.... 的头像 python爬虫知识分享 发表于 03-11 16:03 • 256次 阅读 详解python常规包与命名空间包 python常规包与命名空间包 1. 常规包 在 Python 3.3 之前或者说 Python 2.... 的头像 python爬虫知识分享 发表于 03-11 15:46 • 260次 阅读 python花式导包的八种方法 python花式导包的八种方法 1. 直接 import 人尽皆知的方法,直接导入即可 import.... 的头像 python爬虫知识分享 发表于 03-10 16:48 • 225次 阅读 python安装第三方包的八种方法 python安装第三方包的八种方法 1. 使用 easy_install easy_install .... 的头像 python爬虫知识分享 发表于 03-10 16:27 • 223次 阅读 python包、模块和库是什么 1. 模块 以 .py 为后缀的文件,我们称之为 模块,英文名 Module。 模块让你能够有逻辑地.... 的头像 python爬虫知识分享 发表于 03-09 16:47 • 244次 阅读 python类的多态和类的property属性 python类的多态 多态,是指在同一类型下的不同形态。 比如下面这段代码 class People.... 的头像 python爬虫知识分享 发表于 03-09 16:37 • 218次 阅读 用Python学习科学编程 用Python学习科学编程,Python经典教材。 发表于 03-09 15:00 • 41次 阅读 python类的继承详解 python类的继承 类的继承,跟人类繁衍的关系相似。 被继承的类称为基类(也叫做父类),继承而得的.... 的头像 python爬虫知识分享 发表于 03-08 16:40 • 388次 阅读 python私有变量和私有方法 python私有变量和私有方法 1. 下划线妙用 在 Python 中,下划线可是非常推荐使用的符号.... 的头像 python爬虫知识分享 发表于 03-08 16:30 • 456次 阅读 python静态方法与类方法 python静态方法与类方法 1. 写法上的差异 类的方法可以分为: 静态方法:有 staticme.... 的头像 python爬虫知识分享 发表于 03-07 16:56 • 443次 阅读 python类的理解与使用 python类的理解与使用 1. 通俗理解类 类(英文名 class),是具有相同特性(属性)和行为.... 的头像 python爬虫知识分享 发表于 03-07 16:51 • 419次 阅读 python如何捕获异常和主动抛出异常 python如何主动抛出异常和捕获异常 1. 如何抛出异常? 异常的产生有两种来源: 一种是程序自动.... 的头像 python爬虫知识分享 发表于 03-04 17:09 • 682次 阅读 Python中有哪些常见的错误和异常 python常见异常类型 在程序运行过程中,总会遇到各种各样的问题和错误。 有些错误是我们编写代码时.... 的头像 python爬虫知识分享 发表于 03-04 16:58 • 704次 阅读 python变量的作用域 python变量的作用域 1. 作用域 Python的作用域可以分为四种: L (Local) 局部.... 的头像 python爬虫知识分享 发表于 03-03 16:50 • 427次 阅读 python偏函数和泛型函数详解 python偏函数 假如一个函数定义了多个位置参数,那你每次调用时,都需要把这些个参数一个一个地传递.... 的头像 python爬虫知识分享 发表于 03-03 16:43 • 452次 阅读 python高阶函数详解 python高阶函数 1. map 函数 map 函数,它接收两个参数,第一个参数是一个函数对象(当.... 的头像 python爬虫知识分享 发表于 03-02 16:47 • 202次 阅读 python高阶函数详解 python匿名函数的使用 python匿名函数的使用 匿名函数(英语:anonymous function)是指一类无需定义标.... 的头像 python爬虫知识分享 发表于 03-02 16:42 • 198次 阅读 11个案例讲解python函数参数 函数,在定义的时候,可以有参数的,也可以没有参数。 的头像 python爬虫知识分享 发表于 03-01 16:39 • 276次 阅读 详解python普通函数创建与调用 函数是一种仅在调用时运行的代码块。您可以将数据(称为参数)传递到函数中,然后由函数可以把数据作为结果.... 的头像 python爬虫知识分享 发表于 03-01 16:32 • 311次 阅读 python推导式是什么 python推导式 推导式(英文名:comprehensions),也叫解析式,是Python的一种.... 的头像 python爬虫知识分享 发表于 02-28 17:13 • 222次 阅读 python while循环详解 python while循环 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处.... 的头像 python爬虫知识分享 发表于 02-28 16:39 • 193次 阅读 《深入Python3》中文版pdf 《深入Python3》中文版pdf 发表于 02-28 09:45 • 43次 阅读 《Dive Into Python》中文翻译版.pdf 《Dive Into Python》中文翻译版.pdf 发表于 02-25 17:22 • 32次 阅读 python for循环的案例说明 python for循环 for 循环可以遍历任何序列的项目,如一个列表或者一个字符串。 它的基本语.... 的头像 python爬虫知识分享 发表于 02-25 16:27 • 244次 阅读 python判断语句的详细说明 python判断语句:if 1. 简单小例子 如果满足条件 A,则执行代码块 a,否则执行代码块 b.... 的头像 python爬虫知识分享 发表于 02-25 16:22 • 249次 阅读 python生成器是什么 python生成器 1. 什么是生成器? 生成器(英文名 Generator ),是一个可以像迭代器.... 的头像 python爬虫知识分享 发表于 02-24 15:53 • 266次 阅读 python迭代器详解 python迭代器 1. 可迭代对象 可以利用 for 循环的对象,都叫可迭代对象。 列表、元组、字.... 的头像 python爬虫知识分享 发表于 02-24 15:42 • 227次 阅读 初学者学Python必看的几个练手小项目 Python是一种面向对象的解释型编程语言,源代码与解释器CPython遵守GPL协议,Python.... 的头像 叶枫架构师 发表于 02-23 17:06 • 317次 阅读 4个Python经典项目实战,练手必备! Python是一种极具可读性和通用性的编程语言。Python这个名字的灵感来自于英国喜剧团体Mont.... 的头像 叶枫架构师 发表于 02-23 17:06 • 311次 阅读 python集合是什么 python集合 集合(英文名 set),它是一个无序的不重复元素序列。 这里面有两个重点: 无序,.... 的头像 python爬虫知识分享 发表于 02-23 17:01 • 291次 阅读 python字典是什么 python字典 字典(英文名 dict),它是由一系列的键值(key-value)对组合而成的数据.... 的头像 python爬虫知识分享 发表于 02-23 16:54 • 257次 阅读 python元组的详细介绍 python元组 元组(英文名 tuple),和列表非常的相似,它也是由一系列元素按顺序进行排列而成.... 的头像 python爬虫知识分享 发表于 02-22 15:19 • 187次 阅读 python列表的详细介绍 python列表 列表(英文名 list),是由一系列元素按顺序进行排列而成的容器。 这里面有两个重.... 的头像 python爬虫知识分享 发表于 02-22 15:14 • 176次 阅读 python运算符是什么 python运算符 0. 什么是运算符? 本章节主要说明Python的运算符。举个简单的例子 4 +.... 的头像 python爬虫知识分享 发表于 02-21 16:44 • 255次 阅读 python字符串格式化 python字符串格式化 格式化输出,主要有三种方式 使用 % 进行格式化 使用 format 函数.... 的头像 python爬虫知识分享 发表于 02-21 16:28 • 215次 阅读 python字符串格式化 python输入与输出详解 python输入与输出 无论是从我们一开始的“hello world”,还是前面章节的里各种例子,基.... 的头像 python爬虫知识分享 发表于 02-21 16:18 • 266次 阅读


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有