第三章 模块

Posted on 2019-09-11 17:05  麻世骞  阅读(147)  评论(0编辑  收藏  举报

1、列举常用模块

  time模块、random模块、os模块、sys模块、re模块、requests模块

  模块:简单来说就是一堆代码来实现某些功能,他们是已经写好的.py文件,只需要用import来调用即可。

  分类:自定义模块、内置标准模块、开源模块

2、如何安装第三方模块

  pip install 模块名

3、re模块的match和search的区别?

  re.match之匹配字符串的开头,若开头不匹配,则返回None.

  re.search匹配整个字符串,直到找到一样的。

4、什么事正则的贪婪匹配?或者正则匹配中的贪婪模式和非贪婪模式的区别。

  贪婪模式就是在整个表达式匹配成功的情况下,尽可能的匹配更多的。

  非贪婪模式就是在整个表达式匹配成功的情况下,尽可能的匹配更少的。

5、如何生成一个随机数。

  random.random

6、如何删除一个文件

  os.remove()

7、logging模块的作用,以及应用场景

  python中logging模块提供了通用的日志系统,方便第三方模块和应用的使用。

8、json序列化时,可以处理的数据类型有哪些?

  能够处理的数据类型非常有限,字符串,列表,字典,数字,字典中的key只能是字符串类型,如果字典中的值时元组,序列化时回强转成一个列表。因为json在所有语言都通用。

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

import json

dic = {'k1': '你好'}
str_dic = json.dumps(dic, ensure_ascii = False)
print(str_dic)

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

import os

d = os.getcwd()

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

  <.>是贪婪匹配,尽可能的匹配更多的字符串。

  <.?>是非贪婪匹配,尽可能匹配更少的字符串。

12、如何判断一个邮箱合法。

  \w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+.)+[A-Za-z]{2,14}

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

  ^[A-Z].*\d$

14、下面哪些是python开发网络应用的框架

  Django, Flask

15、写python爬虫都用到了哪些模块,分别是做什么用的?

  

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

  添加模块路径

17、列举出python中比较熟悉的爬虫模块。

  Scrapy:强大的爬虫框架,可以满足页面的爬取。

  Crawley:告诉爬取对应网站的内容,支持关系型和非关系型数据库。

  Portia:可视化爬取网页内容。

  newspaper:提取新闻、文章以及内容分析。

  cola:一个分布式爬虫框架。

18、输入某年某日,判断时这一年的第几天。

def y_days(inp):

    y = int(inp[0:4])
    m = int(inp[5:7])
    d = int(inp[8:])

    r = False
    if y % 100 == 0:
        if y % 100 == 0:
            r = True

    if y % 4 == 0:
        r = True

    if r == True:
        mm = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    else:
        mm = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    days = 0
    for i in range(1, 13):
        if i == m:
            for j in range(i - 1):
                days += mm[j]

    return '%s是一年的第%s天' %(inp, (days+d))





if __name__ == '__main__':
    inp = input('请输入一个日期:(格式为yyyy-mm-dd)').strip()
    print(y_days(inp))
请输入一个日期:(格式为yyyy-mm-dd)2019-01-10
2019-01-10是一年的第10天

19、使用过哪些python的第三方组件?

  jieba分词,Django, Flask,scrapy,MySPLdb