日志,urllib,requests,sys.version和sys.version_info(查看版本号),md5加密,time模块

日志文件:
日志级别:

 'CRITICAL': CRITICAL,
    'FATAL': FATAL,
    'ERROR': ERROR,
    'WARN': WARNING,
    'WARNING': WARNING,
    'INFO': INFO,
    'DEBUG': DEBUG,
    'NOTSET': NOTSET,



创建一个日志:
    import logging
    
# 1. 日志对象
logger = logging.getLogger()
# 2. 设置级别
logger.setLevel(logging.ERROR)
# 3. 创建一个handler 对象
file = 't2/log.txt'
handler = logging.FileHandler(file)
handler.setLevel(logging.ERROR)

# 4. 创建一个formatter格式对象
fmt = logging.Formatter('%(asctime)s - %(module)s - %(filename)s[%(lineno)d] - %(levelname)s:%(message)s')
handler.setFormatter(fmt)
# 5.
logger.addHandler(handler)

def func():
    try:
        number = int(input('请输入一个数字:'))
        for i in range(number):
            print('---->', i)
    except:
        logger.error('输入的不是一个数字!')
    finally:
        print('------over---------')


func()

urllib

  url:
  协议://存放资源的地址(域名)/具体的资源
  https://bj.lianjia.com/zufang/dghfjhsjdf648.html

   urllib.request  用来发出请求
   urllib.parse

   urllib.request.urlopen(str)  --->response对象

   request= urllib.request.Request(url,data,headers)
   urllib.request.urlopen(request)  --->response对象

   从response中获取信息
   response.read()   ----> 字节信息

   要对信息进行解码:
   response.read().decode('utf-8')



import urllib.request
import urllib.parse
#三部分
获得三个,从网页的检查上找
    url = 'https://bj.lianjia.com/zufang/BJ2319485348977049600.html'
    header = {}
    header[
        'User-Agent'] = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36'
    data = {}
    data['nav'] = 0
    data = urllib.parse.urlencode(data).encode('utf-8')
    
    # 创建请求对象
    requ

    est = urllib.request.Request(url, data, header)
        response = urllib.request.urlopen(request)
        content = response.read()
print(content.decode('utf-8'))

chr好ord
ord输出的是字符串的ascll码
chr是把ascll码转换成字符串

'''
日历相关
'''
import calendar

print(calendar.calendar(2019))#输出2019的日历
print(calendar.month(2019, 8))#打印8月的日历
print(calendar.weekday(2019, 8, 12))  # 星期几 星期一从0开始的

datetime:模块
4个类:

date 日期
time 时间
timedelta 时间差
datetime 日期时间

print(datetime.now())#2019-08-12 19:50:54.450801
print(datetime.today())#2019-08-12 19:50:54.450801

查看版本号

>>> sys.version
'3.6.2 (v3.6.2:5fd33b5926, Jul 16 2017, 20:11:06) \n[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]'
>>> sys.version_info
sys.version_info(major=3, minor=6, micro=2, releaselevel='final', serial=0)

timedelta()#求时间差值,

dt = datetime.now()#2019-08-12
tdt = timedelta(minutes=30)

print(dt + tdt)#2019-08-12 20:22:35.440476

tdt = timedelta(days=1)
print(dt - tdt)#2019-08-11 19:52:35.440476

md5加密:

import hashlib
md5 = hashlib.md5()
s = 'hello'

md5.update(s.encode('utf-8'))#添加成utf-8格式
print(md5.hexdigest())#转换成16进制

sha1:
    sha1 = hashlib.sha1(s.encode('utf-8'))
    print(sha1.hexdigest())
    
    
sha256:
sha256 = hashlib.sha256(s.encode('utf-8'))
print(sha256.hexdigest())

math模块:

print(math.ceil(9.12))#取上
print(math.floor(9.89))#取下
print(math.fmod(10, 3))  # 求余数
print(math.fabs(-89))#绝对值
print(math.sqrt(16))  # sqrt(x),对x开平方
print(math.pow(2, 5))  # pow(x,y) x的y次方

sum()
abs()
round#四舍五入(4.5)四舍五入是四
os模块

os.getcwd():获取当前目录。
os.chdir(path):改变当前目录。
os.fchdir(fd):通过文件描述利改变当前目录。该函数与上一个函数的功能基本相似,只是该函数以文件描述符作为参数来代表目录

import os

 获取当前目录
print(os.getcwd())  # G:\publish\codes\12.7
 改变当前目录
os.chdir('../12.6')
#再次获取当前目录
print(os.getcwd())  # G:\publish\codes\12.6
os.listdir(path):返回 path 对应目录下的所有文件和子目录
os.mkdir(path):创建 path 对应的目录

创建文件:

path = 'my_dir'
 直接在当前目录下创建目录
os.mkdir(path)
path = "abc/xyz/wawa"

删除:

path = 'my_dir'
# 直接删除当前目录下的子目录
os.rmdir(path)
path = "abc/xyz/wawa"

递归方法删除文件

# 也可以递归删除文件
def delAll(path):
    if os.path.isdir(path):
        files = os.listdir(path)  # ['a.doc', 'b.xls', 'c.ppt']
        # 遍历并删除文件
        for file in files:
            p = os.path.join(path, file)
            if os.path.isdir(p):
                # 递归
                delAll(p)
            else:
                os.remove(p)
        # 删除文件夹
        os.rmdir(path)
    else:
        os.remove(path)

import os

print(os.path.abspath('t1/file01.py'))  # 获取绝对路径
print(os.path.isabs('t1/file01.py'))  # 判断所给的路径是否是一个绝对路径
print(os.path.isfile('t1/file01.py'))  # True  判断是否是文件
print(os.path.isdir('t1/file01.py'))  # False  判断是否是文件夹
print(os.path.exists('t1/file02.py'))  # False  判断是否存在文件夹或者文件
print(os.path.join(r'c:\foo', 'a.txt'))#两个字符串之间加/
print(os.path.split(r'c:\foo\a.txt'))#os.path.split('C:/soft/python/test.py')
                                            #('C:/soft/python', 'test.py')


print(os.path.getatime(r'C:\images\desk_background.jpg'))  # 访问时间
print(os.path.getctime(r'C:\images\desk_background.jpg'))  # 创建时间 windows
print(os.path.getmtime(r'C:\images\desk_background.jpg'))  # 修改时间

随机数:

   randint(a,b)  --->[a,b]
   randrange(a,b) ---> [a,b)
   random() --->小数 [0,1)
   choice()#随机选择一个
   shuffle(seq) --> 打乱顺序seq的顺序
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值