第三章 模块

1. 列举常用的模块。

 math random re os sys requests time datetime calendar logging functools  json pickle struct socket  hashlib uuid django flask collections ...

2. 如何安装第三方模块?

  1.在命令行执行pip install 模块名  2.在pycharm的File---Settings--Project Interpreter 中新增  3.源码安装

3. re 的 match 和 search 区别?

  match是从字符串的头开始查找;search是从字符串中查找,找到及返回

4. 什么是正则的贪婪匹配?或 正则匹配中的贪婪模式与非贪婪模式的区别?

  贪婪匹配就是匹配符合规则最大长度,尽可能匹配;非贪婪模式在量词后加?匹配到符合规则的一个就结束

5. 如何生成一个随机数?

  使用random模块

6. 如何使用 python 删除一个文件?

  

import os
import shutil
os.remove(path) # 删除文件
os.removedirs(path) # 删除空文件夹
shutil.rmtree(path) # 删除文件夹,可以为空也可以不为空

7. logging 模块的作用?以及应用场景?

  logging模块定义的函数和类为应用程序和库的开发实现了一个灵活的事件日志系统。

  记录日志

  

8. json 序列化时,可以处理的数据类型有哪些?如何定制支持 datetime 类型?

1.可以处理的数据类型是 string、int、list、tuple、dict、bool、null

  • 2.通过自定义时间序列化转换器
#通过自定义时间序列化转换器import json
from json import JSONEncoder
from datetime import datetime
class ComplexEncoder(JSONEncoder):
    def default(self, obj):
        if isinstance(obj, datetime):
            return obj.strftime(‘%Y-%m-%d %H:%M:%S‘)
        else:
            return super(ComplexEncoder,self).default(obj)
d = { ‘name‘:‘alex‘,‘data‘:datetime.now()}
print(json.dumps(d,cls=ComplexEncoder))
# {"name": "alex", "data": "2018-05-18 19:52:05"}

9. json 序列化时,默认遇到中文会转换成 unicode,如果想要保留中文怎么办?

  设置参数ensure_ascii=False  

import jsonprint(json.dumps("你好",ensure_ascii=False))

10. 写代码实现查看一个目录下的所有文件。  

import os
print(os.listdir(path=r‘C:\Users\Administrator\Desktop\tk‘))

11. 用 Python 匹配 HTML tag 的时候,<.><.?>有什么区别?

  <.>表示必须要匹配一个<和>之间的任意内容

  <.?>表示匹配零个或一个<和>之间的任意内容

12. 如何判断一个邮箱合法  

import re
pp=re.compile(‘[a-zA-Z0-9_-][email protected][0-9A-Za-z]+(\.[0-9a-zA-Z]+)+‘)
if pp.match(‘[email protected]‘):
    print(‘ok‘)

13. 请写出以字母或下划线开始, 以数字结束的正则表达式

  ‘^[a-zA-Z_].*[0-9]$’

14. 下面那些是 Python 开发网络应用的框架

1. Django

2. Yii

3. Struts

4. Rails 5. Uliweb

6. CodeIgniter

7. gevent

8. Flask

9. web2py

10. Pylons

11. Tornado

12. Twisted

13. TurboGears

15. 写 Python 爬虫都用到了那些模块, 分别是做什么用的?

  

  • 模块

    • request,发起请求
    • pyquery,解析html数据
    • beautifulsoup,解析html数据
    • lxml  from lxml.html.clean import etree   xpath解析数据
    • aiohttp,异步发送请求
  • 框架
    • pyspider,web界面的爬虫框架
    • scrapy,爬虫框架
    • selenium,模拟浏览器的爬虫框架

16. sys.path.append("/root/mods")的作用?

  sys.path.append(‘xxx‘)的作用

  • 添加搜索路径:将root/moods/目录添加到自定义模块加载的路径中

17. 列举出 Python 中比较熟知的爬虫框架

 Scrapy  selenium  Crawley  Portia  newpaper

18. 输入某年某月某日, 判断这是这一年的第几天?(可以用 Python 的内置模块)  

import time
t=‘2019-09-05‘
struct_time=time.strptime(t,‘%Y-%m-%d‘)
print(struct_time.tm_yday)

19. 使用过 Python 那些第三方组件?

  

Django
pymysql
SQLalchemy
bs4
pyecharts
PIL
gevent
jieba
selenium

原文地址:https://www.cnblogs.com/open-yang/p/11398980.html

时间: 2024-10-11 00:41:26

第三章 模块的相关文章

Head First Python 第二章 函数模块&amp;第三章 文件与异常&amp;第四章 持久存储&amp;第五章 处理数据

第三章 1.共享模块 模块和发布工具箱全世界共享模块 编写函数,以.py为文件后缀名,第三方库都在PyPI *注释代码:三引号(单双都可以) 发布过程P40 使用发布工具,函数模块变成了一个“发布”,可以使用import导入其他程序 2.如果函数模块功能不满意 添加参数以供api选择比添加函数工作量小! 首先考虑BIF内置函数 ----------------------------------------------------------- 第四章 1.文件 open()语句,readlin

构建之法前三章读后感

一. 软件作为一个产品,在提供用户使用前经历了许多工序,我们用工程的方式将开发软件的工序,过程加以工程化,系统化.成立了一套完整的体系后,有利于帮助我们开发软件,乃至于大型的系统. 软件具有一定的特殊性,使得软件工程师们做开发提升了一定的难度,但软件工程有助于软件系统的开发,帮助工程师们设计,构建,测试和维护软件.所以,软件工程的最终目的是帮助工程师们创造“足够好”的软件,提高软件的质量,用户满意度,可靠性,可维护性等. 第一章问题:怎么才算是一个真正的软件工程师? 二.   一个优秀的软件,通

0320 《构建之法》前三章观后感

第一章.为我们解释什么是软件,什么是软件工程,读完这章对这些概念有一定的认识这章让我明白,代码不能盲目的敲,好的软件并非两三天,并非一两个人就能赶出来的,需要大家的精诚合作.同时,在编写程序之前,还需要做一系列的分析.设计,要满足客户的需求,后续还要对软件进行测试.维护等.在这之前,我一直觉得能把程序运行,能有正确的结果,那就完成任务了,可这只是整个软件流程的一部分而已.看了邹老师的书,才知道其实创新有很多的方面,除了技术,还有商业思路,差异化等等,这些都给了我很大的感触,作为一名程序员,我们不

使用Micrisoft.net设计方案 第三章Web表示模式

第三章Web表示模式 体系结构设计者在设计第一个作品时比较精简和干练.在第一次设计时,并清除自己做什么,因此比较小心谨慎.第二个作品是最危险的一个作品,此时他会对第一个作品做修饰和润色,以及把第一次设计的边缘性设计思想都用在第二个作品,结果导致设计过头. 最初的Web很简单,只是有几个简单的Html页面组成,实现信息共享.随着业务的发展,需要根据业务来决定显示什么,于是开发了CGI编程,把大量的业务逻辑写到CGI中,然后输出到页面.随着发展,CGI编程模式受到了挑战,不能满足发展的需求,于是开发

《增长黑客》阅读内容摘要(前三章)

<增长黑客>阅读内容摘要(前三章) 寒假无聊,偶然间看到<增长黑客>这本名气很大的书,顺便拿来读读.读到后来根本停不下来,这本书真的比电影还精彩.作者提倡的一种新的软件工程,令人叫绝. 以下是这本书前三章的内容摘要: 一.第一章 通常采用的手段包括A/B测试.搜索引擎优化.电子邮件召回.病毒营销等,而页面加载速度.注册转化率.E-mail到达水平.病毒因子这些指标成为他们日常关注的对象. 增长黑客:以数据驱动营销.以市场指导产品,通过技术化手段贯彻增长目标的人. 五个环节:1. 获

tcp-ip协议第二、三章

第一章讲解的是tcp-ip的概述,涵盖了网络的各个方面 第二章讲解物理链路层 以太网和ieee802 封装 拆分 slip串行线网络 链路层主要功能就是 1:发送接收ip数据包 2:发送arp和接收arp模块应答 3 发送rarp和接收rarp模块应答   环回接口本机通信仍然完成的是整个网络分层的步骤程序,没有省略中间网络层和传输层 mtu是最大传输单元 第三章网际协议   首先强调的是所有的数据都是以ip数据包为核心,提供不可靠的运输(出现问题终止),tcp提供可靠的运输(出现问题重传) i

ArcGIS for Desktop入门教程_第三章_Desktop软件安装 - ArcGIS知乎-新一代ArcGIS问答社区

原文:ArcGIS for Desktop入门教程_第三章_Desktop软件安装 - ArcGIS知乎-新一代ArcGIS问答社区 1 软件安装 1.1 安装前准备 请确认已经收到来自Esri中国(北京)有限公司发出的软件安装光盘及包含许可授权文件(*.prvs或 *.prvc)的电子邮件. *.prvs是浮动版的许可,*.prvc是单机版的许可.下面以浮动版许可为例,介绍软件的安装. 在安装之前,请先确认待安装软件的系统.硬件及软件环境,是否满足ArcGIS for Desktop 10.4

《构建之法》第三章学习心得

这周我学习了<构建之法>第三章,讲述了软件工程师的成长.软件系统的绝大部分模块都是由个人开发或维护的.在软件工程的术语中,这些单个的成员叫做Individ-ual Contributor(IC).IC在团队中的流程是怎么样的呢?以开发人员为例,流程如下. 1.通过交流.实验.快速原型等方法,理解问题.需求或任务 2.提出多种解决办法并估计工作量 3.其中包括寻找以前的解决方案,因为很多工作是重复性的 与相关角色交流解决问题的提案,决定一个可行的方案 执行,把想法变成实际中能工作的代码,同时验证

Python黑帽编程3.0 第三章 网络接口层攻击基础知识

3.0 第三章 网络接口层攻击基础知识 首先还是要提醒各位同学,在学习本章之前,请认真的学习TCP/IP体系结构的相关知识,本系列教程在这方面只会浅尝辄止. 本节简单概述下OSI七层模型和TCP/IP四层模型之间的对应关系,最后是本章教程需要的几个核心Python模块. 3.0.1 TCP/IP分层模型 国际标准化组织(ISO)在1978年提出了"开放系统互联参考模型",即著名的OSI/RM模型(Open System Interconnection/Reference Model).