
Python总结
Python总结
小馋喵星人
这个作者很懒,什么都没留下…
展开
-
【Class 49】用selenium模块自动控制浏览器一 之浏览器配置
selenium 模块让 Python 直接控制浏览器,实际点击链接,填写登录信息,几乎就像是有一个人类用户在与页面交互。与 Requests 和 Beautiful Soup 相比,Selenium允许你用高级得多的方式与网页交互。但因为它启动了 Web 浏览器,假如你只是想从网络上下载一些文件,会有点慢,并且难以在后台运行首先下载selenium模块: pip install selen...原创 2019-03-12 23:01:53 · 437 阅读 · 0 评论 -
【Class 35】【实例】第八章 实例 生成35份试卷
第七章实例: 生成随机的测验试卷文件假如你是一位地理老师,班上有 35 名学生,你希望进行美国各州首府的一个小测验。不妙的是,班里有几个坏蛋,你无法确信学生不会作弊。你希望随机调整问题的次序,这样每份试卷都是独一无二的,这让任何人都不能从其他人那里抄袭答案。当然,手工完成这件事又费时又无聊。好在,你懂一些 Python。下面是程序所做的事:• 创建 35 份不同的测验试卷。• 为每份...原创 2019-03-03 17:58:35 · 645 阅读 · 0 评论 -
【Class 34】《Python编程快速上手》 查缺补漏五 第八章 读写文件
Windows 反斜杠( \ ), OS X和Linux 上位正斜杠( / )os.getcwd() :获得当前工作目录os.chdir() :切换工作目录os.makedirs() :创建新文件夹os.path 模块包含了许多与文件名和文件路径相关的有用函数。处理绝对路径和相对路径os.path.abspath( path )   将返回参数得绝...原创 2019-03-03 17:52:46 · 412 阅读 · 0 评论 -
Python 编码格式深入学习
在代码编写或者爬虫抓包的时候,经常出现编码的错误,如何避免呢?首先在 py 文件头部指定文件内容编码:例如:如下三种方式都可以,建议使用第一种 # -- coding: utf-8 -- # -*- coding: utf-8 -*- # coding=utf-8 # vim: set fileencoding=utf-8:文件保存的时候要和py文件头部编码一致在用dec...原创 2019-02-27 05:55:35 · 395 阅读 · 0 评论 -
【Class 25】《Python编程快速上手—让繁琐工作自动化》 查缺补漏一
之前是看视频学习的,看老师讲视频有个好处就是,老师一般讲的比较易懂,适合入门但有个坏处就是讲不了太多知识,这个时候,就需要通过自己看书去学习了。接下来的计划,主要是把如下三本书系统过一遍了:《【精001】Python编程快速上手—让繁琐工作自动化》《【精002】Python编程:从入门到实践》《【精003】Python核心编程_第3版》...原创 2019-02-27 04:09:56 · 508 阅读 · 0 评论 -
【Class 33】【实例】Python 强口令检测程序
写一个函数,它使用正则表达式,确保传入的口令字符串是强口令。强口令的定义是:长度不少于 8 个字符,同时包含大写和小写字符,至少有一位数字。你可能需要用多个正则表达式来测试该字符串,以保证它的强度。import redef password_check(passwd): if len(passwd) < 8: return "Warnning : Lengt...原创 2019-03-02 17:03:24 · 948 阅读 · 0 评论 -
【Class 32】《Python编程快速上手》 查缺补漏四 第七章 模式匹配与正则表达式
1. 创建正则表达式对象 re.compilePython 中所有正则表达式的函数都在 re 模块中。 import re向 re.compile()传入一个字符串值,表示正则表达式,它将返回一个 Regex 模式对象(或者就简称为 Regex 对象)。举例:匹配电话号码import rePhoneNumRegx = re.compile(r'\d\d\d-\d\d\d-\d\d\d...原创 2019-03-02 16:36:42 · 446 阅读 · 0 评论 -
【Class 31】【实例】Python 实现将 鼠标剪贴板中的文章,每一行前添加 *--第n行--*
目的:将鼠标剪贴板中的文章,每一行首,增加 –第n行– ,然后复制回鼠标剪贴板中#! python3# Adds Wikipedia bullet points to the start # of each line of text on the clipboard.import pypercliptext = pyperclip.paste() # Separate line...原创 2019-03-02 15:03:47 · 393 阅读 · 0 评论 -
【Class 30】【实例】Python 口令保管箱
输入账户名称,如果匹配成功,则将密码口令copy 到剪贴板中#! python3# pw.py - An insecure password locker program# 将各个账户和口令绑定在一起,使用字典保存PASSWORDS = { 'email' : 'F7minlBDDuvMJuxESSKHFhTxFtjVB6', 'blog' ...原创 2019-03-02 14:54:02 · 778 阅读 · 0 评论 -
【Class 13】python 正则表达式 re.findall
正则表达式正则表达式是一个特殊的序列,可以快速检索文本,实现一些替换文本操作。## python 内置字符串表达式a = 'C|C++|C#|Python|Javascript'print(a.index('Python') > -1)print('Python' in a)结果:TrueTrue因为python 内置表达式有限,也只能实现部分简单的操作,正则表达...原创 2019-02-20 23:10:27 · 1506 阅读 · 0 评论 -
【Class 29】《Python编程快速上手》 查缺补漏三 第五章 字典和结构化数据 第六章 字符串操作
第五章 字典和结构化数据1. 尝试访问字典中不存在得键,将导致 KeyError 出错信息>>> spam = {'name': 'Zophie', 'age': 7}>>> spam['a']Traceback (most recent call last): File "<pyshell#1>&am原创 2019-03-02 10:48:13 · 698 阅读 · 0 评论 -
【Class 28】【实例】童心大发 通过递归函数 解决 python实践题目二 之 压缩代码
重新把题目贴上来:看到书中有个实践题目:童心大发,来玩玩:4.10.1 逗号代码假定有下面这样的列表:spam = [‘apples’, ‘bananas’, ‘tofu’, ‘cats’]编写一个函数,它以一个列表值作为参数,返回一个字符串。该字符串包含所有表项,表项之间以逗号和空格分隔,并在最后一个表项之前插入 and。例如,将前面的 spam 列表传递给函数,将返回’apple...原创 2019-03-02 09:26:08 · 427 阅读 · 0 评论 -
【Class 27】【实例】童心大发 通过递归函数 解决 python实践题目一
看到书中有个实践题目:童心大发,来玩玩:4.10.1 逗号代码假定有下面这样的列表:spam = [‘apples’, ‘bananas’, ‘tofu’, ‘cats’]编写一个函数,它以一个列表值作为参数,返回一个字符串。该字符串包含所有表项,表项之间以逗号和空格分隔,并在最后一个表项之前插入 and。例如,将前面的 spam 列表传递给函数,将返回’apples, bananas...原创 2019-03-01 23:47:34 · 454 阅读 · 0 评论 -
【Class 26】《Python编程快速上手》 查缺补漏二 第四章列表
第四章del list[n] : 列表中的元素,可以使用del 删除,举例: del list_test[2]多重赋值a , b ,c ,d = [1, 2, 3, 4] <====> a=1, b=2, c=3, d=4index() 查找元素再列表中的位置,举例: list_test.index[ ‘hello’原创 2019-03-01 21:50:53 · 377 阅读 · 0 评论 -
【Class 36】【实例】第八章 实例 python实现正则表达式查找内容
正则表达式查找编写一个程序,打开文件夹中所有的.txt 文件,查找匹配用户提供的正则表达式的所有行。结果保存在文件search_result.txt中。初稿:#! python3# -*- coding: utf-8 -*- import re, osstr_rex = r'(?=^.{33,35}$)(?=.*[\d][\d])(?=.*[\w$]).*'# 打开文件夹中所...原创 2019-03-03 20:23:02 · 584 阅读 · 0 评论 -
【Class 50】【实例】用selenium模块自动控制浏览器一 之浏览器配置
WebDriver 对象有好几种方法,用于在页面中寻找元素。它们被分成find_element_*和find_elements_*方法。find_element_*方法返回一个 WebElement 对象,代表页面中匹配查询的第一个元素。find_elements_*方法返回 WebElement_*对象的列表,包含页面中所有匹配的元素使用 CSS 类 name 的元素browser.f...原创 2019-03-13 22:20:20 · 458 阅读 · 0 评论 -
【Class 48】【实例】python爬虫实现 下载所有 XKCD 漫画
下载所有 XKCD 漫画#! python3# -*- coding: utf-8 -*-import requests, os, bs4url = "http://xkcd.com"os.makedirs('xkcd',exist_ok=True)while not url.endswith('#'): # 下载漫画 print('Downloading pa...原创 2019-03-11 22:10:30 · 604 阅读 · 1 评论 -
【Class 42】《Python编程快速上手》 查缺补漏七 第十章 调试异常
1. 抛出异常 try … except当 Python 试图执行无效代码时,就会抛出异常。try: 正常的操作 ......................except: 发生异常,执行这块代码 ......................else: 如果没有异常执行这块代码try的工作原理是,当开始一个try语句后,python就在当前程序的上...原创 2019-03-07 23:05:29 · 628 阅读 · 0 评论 -
【Class 47】【实例】python爬虫实现 搜索大量数据并保存在 excel 数据库中
现在 来写一个 爬虫,将搜索到的所有关键字,保存在 excel 数据库中主要代码,在我们之前的博文中已经实现了【Class 46】【实例】python爬虫实现 自动搜索 并 打开浏览器我们在它的基础上来做改动首先安装一下 pip install openpyxl 模块, 用于处理表格。实现代码如下:#! python3# -*- coding: utf-8 -*-# 搜索 pyt...原创 2019-03-10 16:10:58 · 1615 阅读 · 0 评论 -
【Class 46】【实例】python爬虫实现 自动搜索 并 打开浏览器
题目:每次我在 Google 上搜索一个主题时,都不会一次只看一个搜索结果。通过鼠标中键点击搜索结果链接,或在点击时按住 CTRL 键,我会在一些新的选项卡中打开前几个链接,稍后再来查看。我经常搜索 Google,所以这个工作流程(开浏览器,查找一个主题,依次用中键点击几个链接)变得很乏味。如果我只要在命令行中输入查找主题,就能让计算机自动打开浏览器,并在新的选项卡中显示前面几项查询结果,...原创 2019-03-10 14:23:10 · 4792 阅读 · 0 评论 -
【Class 45】【实例】《Python编程快速上手》 查缺补漏十 第十一章 Web之 BeautifulSoup 解析 HTML
Beautiful Soup 是一个模块,用于从 HTML 页面中提取信息. BeautifulSoup 模块的名称是 bs4安装bs4:C:\Users\Administrator>pip install bs4Collecting bs4 Downloading https://files.pythonhosted.org/packages/10/ed/7e8b97591f6...原创 2019-03-09 22:23:59 · 520 阅读 · 0 评论 -
【Class 52】Selenium 等待网页加载的三种方法
等待的三种方法time.sleep(n)强制等待n秒。Python本身的函数,包含在time包中,使用前需要导入time包。我们之前的实例中经常会使用这种等待,方便大家能看清脚本执行的结果。这种等待方法十分笨拙,无论页面加载得如何,都必须等待n秒,可以说是十分不智能了。#-*- coding:utf-8 -*-import timefrom datetime import datetim...原创 2019-03-14 13:18:59 · 1485 阅读 · 0 评论 -
【Class 44】【实例】《Python编程快速上手》 查缺补漏九 第十一章 Web之 webbrowser 和 requests
webbrowser :是 Python 自带的,打开浏览器获取指定页面requests :从因特网上下载文件和网页Beautiful Soup :解析 HTML,即网页编写的格式selenium :启动并控制一个 Web 浏览器。selenium 能够填写表单,并模拟鼠标在这个浏览器中点击。1. webbrowser 模块 启动系统默认浏览器webbrowser 模块的 ope...原创 2019-03-09 18:28:53 · 515 阅读 · 0 评论 -
【Class 41】【实例】 将一个文件夹备份到一个 ZIP 文件
项目:将一个文件夹备份到一个 ZIP 文件假定你正在做一个项目,它的文件保存在 C:\AlsPythonBook 文件夹中。你担心工作会丢失,所以希望为整个文件夹创建一个 ZIP 文件,作为“快照”。你希望保存不同的版本,希望 ZIP 文件的文件名每次创建时都有所变化。例如 AlsPythonBook_1.zip、AlsPythonBook_2.zip、AlsPythonBook_3.zi...原创 2019-03-06 23:08:33 · 677 阅读 · 0 评论 -
【Class 40】【实例】 批量修改带日期的文件名
实例: 将带有美国风格日期的文件改名为欧洲风格日期假定你的老板用电子邮件发给你上千个文件,文件名包含美国风格的日期(MM-DD-YYYY),需要将它们改名为欧洲风格的日期(DD-MM-YYYY)。手工 完成这个无聊的任务可能需要几天时间!让我们写一个程序来完成它。下面是程序要做的事:• 检查当前工作目录的所有文件名,寻找美国风格的日期。• 如果找到,将该文件改名,交换月份和日期的位置,使之...原创 2019-03-06 22:41:22 · 1382 阅读 · 0 评论 -
【Class 39】《Python编程快速上手》 查缺补漏六 第九章 组织文件
1. Shutil 模块shutil(或称为 shell 工具)模块中包含一些函数,让你在 Python 程序中复制、移动、改名和删除文件。shutil.copy(source, destination): 复制文件shutil.copytree(source, destination): 将复制整个文件夹,以及它包含的文件夹和文件shutil.move(source, destinati...原创 2019-03-06 22:33:32 · 397 阅读 · 0 评论 -
【Class 43】《Python编程快速上手》 查缺补漏八 第十章 日志模块 logging
1. 日志模块 logging要启用 logging 模块,在程序运行时将日志信息显示在屏幕上,请将下面的代码复制到程序顶部(但在 Python 的#!行之下):import logginglogging.basicConfig(level=logging.DEBUG, format=' %(asctime)s - %(levelname)s- %(message)s')logging.e...原创 2019-03-09 15:14:01 · 388 阅读 · 0 评论 -
【Class 51】【Python实例】自动控制浏览器 登陆QQ邮箱发送邮件,内容为鼠标复制的文本
命令行邮件程序编写一个程序,通过命令行 邮箱账号、邮箱密码、接受电子邮件地址、邮件主题然后利用 selenium登录到你的邮件账号,将鼠标剪贴板中复制的内容作为邮件,发送到提供的地址。如果参数邮件主题为空,则设置主题为: This is a test mail如果剪贴板内容为空,则发送内容: Hello, Are you ok @_@格式为: python aaa.py ar...原创 2019-03-13 22:31:47 · 1151 阅读 · 0 评论 -
virtualenv隔离python 环境
安装Virtualenv安装命令:pip install virtualenv在win10 上安装实例:https://www.cnblogs.com/pyyu/p/9015317.htmhttp://www.cnblogs.com/freely/p/8022923.htmlhttps://www.cnblogs.com/hiddenfox/p/virtualenv-python3...原创 2019-02-26 07:57:17 · 367 阅读 · 0 评论 -
【Class 24】python 的NoneType 对象
实例一: None 是属于 NoneTypea = '' # 空字符串b = False # bool 假c = [] # 空listd = set() # 空集合e = () f = None # 空 print( type(a), type(b), type(c), type(d), type(e), type(f))输出结果:...原创 2019-02-25 23:05:16 · 6399 阅读 · 0 评论 -
【Class 23】列表推导式
列表推导式b = [ 表达式 for x in list 判断语句 ]实例一: 将列表求平方+1a = [1,2,3,4,5]b = [i*i+1 for i in a]print(b)输出结果:[2, 5, 10, 17, 26]实例二: 将列表中 >= 3 的值求平方,生成新的列表a = [1,2,3,4,5]b = [i*i+1 for i in a ...原创 2019-02-25 22:31:26 · 413 阅读 · 0 评论 -
【Class 18】python 匿名函数 lambda表达式
lambda表达式lambda 参数一,参数二:表达式实例一:def add(x, y): return x+yprint(add(1, 2))#匿名函数f = lambda x,y: x+yprint( f(1,2) )输出结果:33python 三元表达式x if x > y else y# x &g原创 2019-02-23 14:13:39 · 521 阅读 · 0 评论 -
【Class 17】python 进阶-函数式编程-闭包
函数式编程闭包 = 函数 + 环境变量def curve_pre(): a = 25 def curve(x): return a * x * x return curvef = curve_pre();print( f(2) )执行结果:100原创 2019-02-22 23:12:40 · 327 阅读 · 0 评论 -
【Class 16】枚举
实例一: 定义一个枚举from enum import Enumclass VIP(Enum): YELLOW = 1 GREEN = 2 BLACK = 3 RED = 4print(VIP.YELLOW)print(VIP.BLACK)print('--------')for i in VIP: print(i)打印结果:VIP....原创 2019-02-22 22:52:47 · 358 阅读 · 0 评论 -
【Class 15】JSON
JSON:JavaScript Object Notation (JavaScript对象标记), 是一种轻量级的数据交换格式字符串是JSON的表现形式优点: 易于阅读,易于解析,网络传输效率高,跨语言交换数据实例一:json object 字符串import json# 定义一个json 字符串json_str = '{"name":"ciellee", "age":20}'..原创 2019-02-22 22:14:00 · 287 阅读 · 0 评论 -
【Class 8】 python 循环语句
while for 循环语句#循环语句 # while a=0while a<=5: print("while----a =",a) a += 1else: print('EOF\n') # forfor i in [4,3,2,1]: print("for----i =",i)原创 2019-02-17 19:42:20 · 372 阅读 · 0 评论 -
【Class 7】 python 部分语法及规范
每行代码末尾不需要 ‘;’ ,当然也可以加,不会报错不需要’{ } '来区分代码块, python使用 tab 键来区分代码和代码块print("hello,python");# 单行注释使用#号'''多行注释,使用三个单引号'''#条件控制 if else for whilemood = True# if else 不用{ } 来区分代码块,而是通过 tab 键位来...原创 2019-02-17 17:10:19 · 555 阅读 · 0 评论 -
【Class 6】 python 开发准备及vscode 工具配置
新建文件,tmp.pya = 1b = 2print('hello,a+b=',a+b," aaa \n",a,"\n",b)在cmd下使用python 运行脚本原创 2019-02-17 15:48:04 · 621 阅读 · 0 评论 -
【python】清空IDLE 窗口功能实现
新建 ClearWindow.py 文件:"""Clear Window ExtensionVersion: 0.2Author: Roger D. Serwy roger.serwy@gmail.comDate: 2009-06-14It provides "Clear Shell Window" under "Op原创 2019-02-16 22:52:51 · 4734 阅读 · 0 评论 -
【Class 5】 Python 基础四
变量>>> A=[1,2,3,4]>>> A[1, 2, 3, 4]>>> B=[4,5]原创 2019-02-16 23:09:08 · 284 阅读 · 0 评论