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