【Day 5】
1.正则表达式re
正则表达式是用于描述一组字符串特征的模式,用来匹配特定的字符串。通过特殊字符+普通字符来进行模式描述,从而达到文本匹配的目的的工具。
2.os模块
Python的标准库中的os模块主要涉及普遍的操作系统功能。可以在Linux和Windows下运行,与平台无关。
os.sep 可以取代操作系统特定的路径分割符。
os.name字符串指示你正在使用的平台。比如对于Windows,它是’nt’,而对于Linux/Unix用户,它是’posix’。 os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。
os.getenv()和os.putenv()函数分别用来读取和设置环境变量。
os.listdir()返回指定目录下的所有文件和目录名。
os.remove()函数用来删除一个文件。
os.system()函数用来运行shell命令。
os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用’\r\n’,Linux使用’\n’而Mac使用’\r’。
os.path.split()函数返回一个路径的目录名和文件名。
os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。os.path.existe()函数用来检验给出的路径是否真地存在os和os.path模块
os.listdir(dirname):列出dirname下的目录和文件
os.getcwd():获得当前工作目录os.curdir:返回但前目录(’.’)
os.chdir(dirname):改变工作目录到dirname
os.path.isdir(name):判断name是不是一个目录,name不是目录就返回falseos.path.isfile(name):判断name是不是一个文件,不存在name也返回falseos.path.exists(name):判断是否存在文件或目录name
os.path.getsize(name):获得文件大小,如果name是目录返回0Los.path.abspath(name):获得绝对路径
os.path.normpath(path):规范path字符串形式
os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)
os.path.splitext():分离文件名与扩展名
os.path.join(path,name):连接目录与文件名或目录
os.path.basename(path):返回文件名
os.path.dirname(path):返回文件路径
3.datetime模块
4.http请求
【作业构想】
1.请用户输入一个时间,输出选项所对应的现在时间,告诉用户这两个时间相隔的天数,小时数,分钟数和秒数。
import datetime
dt_today = datetime.datetime.today()
print(dt_today)
year=int(input('请输入年:'))
month=int(input('请输入月:'))
day=int(input('请输入日:'))
hour=int(input('请输入小时:'))
minute=int(input('请输入分:'))
second=int(input('请输入秒:'))
dt = datetime.datetime(year, month,day,hour,minute,second)
print('相隔的天数为:{}'.format(dt_today-dt))
#输出结果:
2019-01-30 20:41:09.247751
请输入年:2010
请输入月:2
请输入日:2
请输入小时:2
请输入分:2
请输入秒:2
相隔的天数为:3284 days, 18:39:07.247751
2.请用户输入电话及邮箱,判断用户输入是否合法。
#输入电话
import re
def main():
tel = input("请输入电话:")
ret = re.match(r"^1[35678]\d{9}$", tel)
if ret:
print("匹配成功")
else:
print("匹配失败")
if __name__ == "__main__":
main()
#输入邮箱
import re
email=input("请输入你的邮箱:")
if len(email) > 7:
if re.match("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$", email) != None:
print("你的邮箱符合要求")
else:
print("你输入的邮箱不正确!")
else:
print("你输入的邮箱不正确!")
3.对http://www.baidu.com 进行请求,并用正则化匹配图片内容。将百度图标爬取下来保存至本地
import requests, re
r = requests.get("https://www.baidu.com/")
r.encoding="UTF-8"
png = re.findall("src=//(.*?)width=270", r.text, re.S)[0]
png = "https://" + png
r_ = requests.get(png).content
with open(r"你要保存的地址", "wb") as file:
file.write(r_)