zoukankan      html  css  js  c++  java
  • 老男孩Python全栈开发(92天全)视频教程 自学笔记18

    day18课程内容:

    os模块

    import os
    print(os.getcwd())#D:untitled练习题 获取当前工作目录
    os.chdir(r'D:untitled练习题16.1切换当前工作路径\a') #切换当前工作路径
    print(os.getcwd()) #D:untitled练习题16.1切换当前工作路径
    #os.makedirs('a\b')#创建多层目录
    # os.removedirs('a\b')#删除空的文件夹
    # os.remove()#只能删除文件 ,不能删除文件夹,可以配合os.removedirs使用
    #print(os.listdir(r'D:untitled练习题'))#将路径下的目录和文件,组成一个列表展示出来
    #os.rename(r'a',r'ab')#修改目录名或文件名
    a=os.stat('.文件')#获取详悉文件信息
    print(a.st_size) #文件大小
    b=os.sep
    print(b) # 当前系统的路径分隔符 跨平台使用
    c=os.pathsep
    print(c) #; 当前系统的路径拼接符 跨平台使用
    d=os.system('dir')
    print(d) #可以执行shell命令
    e=os.environ
    print(e) # 当前系统的环境变量
    f=os.path.abspath('.文件')
    print(f) # 将相对路径转成绝对路径
    g=os.path.split(f)
    print(g) # 将绝对路径,分割为 目录和文件名 组成一个元组
    h=os.path.dirname(f)
    print(h) #当前路径的上一层绝对路径D:untitled练习题16.1切换当前工作路径a
    h1=os.path.dirname(h)
    print(h1) #当前路径的上一层绝对路径D:untitled练习题16.1切换当前工作路径
    #os.path.join() 路径拼接

    加密

    import os
    print(os.getcwd())#D:untitled练习题 获取当前工作目录
    os.chdir(r'D:untitled练习题16.1切换当前工作路径\a') #切换当前工作路径
    print(os.getcwd()) #D:untitled练习题16.1切换当前工作路径
    #os.makedirs('a\b')#创建多层目录
    # os.removedirs('a\b')#删除空的文件夹
    # os.remove()#只能删除文件 ,不能删除文件夹,可以配合os.removedirs使用
    #print(os.listdir(r'D:untitled练习题'))#将路径下的目录和文件,组成一个列表展示出来
    #os.rename(r'a',r'ab')#修改目录名或文件名
    a=os.stat('.文件')#获取详悉文件信息
    print(a.st_size) #文件大小
    b=os.sep
    print(b) # 当前系统的路径分隔符 跨平台使用
    c=os.pathsep
    print(c) #; 当前系统的路径拼接符 跨平台使用
    d=os.system('dir')
    print(d) #可以执行shell命令
    e=os.environ
    print(e) # 当前系统的环境变量
    f=os.path.abspath('.文件')
    print(f) # 将相对路径转成绝对路径
    g=os.path.split(f)
    print(g) # 将绝对路径,分割为 目录和文件名 组成一个元组
    h=os.path.dirname(f)
    print(h) #当前路径的上一层绝对路径D:untitled练习题16.1切换当前工作路径a
    h1=os.path.dirname(h)
    print(h1) #当前路径的上一层绝对路径D:untitled练习题16.1切换当前工作路径
    #os.path.join() 路径拼接

    logging模块

    import logging

    # #####日志以文件的形式输出############
    # logging.basicConfig(
    # level=logging.DEBUG,
    # format='%(asctime)s [line:%(lineno)d] %(levelname)s %(message)s %(filename)s' ,
    # datefmt='%a,%d %b %Y %H:%M:%S',
    # filename='test.log',
    # filemode='a')
    #
    # logging.debug('debug message')
    # logging.info('info message')
    # logging.warning('warning message')
    # logging.error('error message')
    # logging.critical('critical message')

    #############将日志输出到控制台也可以保存在文件里
    a=logging.getLogger()

    b=logging.FileHandler('test.log') #创建一个Handler 用于写入日志文件
    c=logging.StreamHandler() #创建一个Handler 用于输出到控制台

    d=logging.Formatter('%(asctime)s-%(name)s-%(levelname)s-%(message)s ')

    b.setFormatter(d)
    c.setFormatter(d)

    a.addHandler(b)
    a.addHandler(c)

    a.debug('debug message')
    a.info('info message')
    a.warning('warning message')
    a.error('error message')
    a.critical('critical message')



    configparser模块 配置文件的操作

    #-*- coding: utf-8 -*-
    #写配置文件###############
    import configparser
    a=configparser.ConfigParser() #创建配置对象
    a['DEFAULT']={
    '默认':5,
    1:11111111,
    2:2222222
    } #写配置文件 DEFAULT 默认配置项
    a['配置1']={
    '配置1.0':'peizhiyidianling',
    '配置1.1':'配置1.1111111',
    '6':'6666666666'

    re 模块 正则表达式

    #coding=utf8
    import re
    # a=re.findall('ww{2}l','hello world')
    # print(a) #['worl']
    #####11个元字符:
    a=re.findall('w..l','hello world')
    print(a) #['worl'] . 通配符 代表除了换行符以外的一个任意字符

    b=re.findall('^h...o','hbbbo hello')
    print(b) #['hbbbo'] ^ 代表从字符串的开始匹配,只匹配一次。

    c=re.findall('h...o$','hbbbo hello')
    print(c) #['hello'] $ 代表从字符串的末尾匹配,只匹配一次。

    d1=re.findall('ba*','dddbaaaaa')
    print(d1) #['baaaaa'] *代表重复匹配,默认区最多匹配次数
    d2=re.findall('ba*','abbbbbb')
    print(d2)#['b', 'b', 'b', 'b', 'b', 'b'] *最少可以匹配0次

    e1=re.findall('ba+','dddbaaaaa')
    print(e1) #['baaaaa'] +代表重复匹配,默认区最多匹配次数
    e2=re.findall('ba+','abbbbbb')
    print(e2) #[] +最少匹配1次

    f=re.findall('ba?','dbdbdbaaaaa')
    print(f) #['b', 'b', 'ba'] ?代表匹配0次或1次

    g1=re.findall('ba{3}d','bad baaad baaaad')
    print(g1) #['baaad'] {} 匹配个数
    g2=re.findall('ba{1,4}d','baaad baaaad baad bad')
    print(g2) #['baaad', 'baaaad', 'baaaaaaaad'] {} 中可以加范围,包含最大数字和最小数字

    h1=re.findall('b[a,c,e]d','bed beed bcd')
    print(h1) #['bed', 'bcd'] [*x] 匹配[]中的任意一个字符
    h2=re.findall('[a-z]','123abcd')
    print(h2) #['a', 'b', 'c', 'd'] 匹配所有范围之内的字符
    h3=re.findall('[w,*,.]','word*wor.com')
    print(h3)#['w', '*', 'w', '.'] [] 里的元字符被取消了特殊功能 但是( ^ -)例外
    h4=re.findall('[^a]','happy')
    print(h4) #['h', 'p', 'p', 'y'] [^x] 代表匹配除了x以外的所有字符

    i=re.findall('d','123abc')
    print(i)#['1', '2', '3'] 将有特殊功能字符取消特殊功能,将没有特殊功能的字符拥有特殊功能

    j=re.findall('(a|b)','acb')
    print(j) #['a', 'b']

    k=re.split('[a,b]','abdsas125dd45fd5b555fa12')
    print(k) #先以a分割,然后再以b分割,组成列表 ['', '', 'ds', 's125dd45fd5', '555f', '12']

    l=re.sub('a..d','a..d','dadfagdagaaadddff')
    print(l) #替换 dadfagdaga..dddff

    obj=re.compile('[dw]{2,4}.com') #将正则表达式封装成一个对象使用
    m=obj.findall('163.comqq.comyahu.com')
    print(m) #['163.com', 'qq.com', 'yahu.com']


  • 相关阅读:
    【Difference Between Primes HDU
    【Pet HDU
    《Java程序设计实验》 软件工程18-1,3 OO实验2
    【数据结构作业】-【带头结点的单链表就地逆置】
    【Miscalculation UVALive
    【Bit String Reordering UVALive
    【Bazinga HDU
    (转载)博弈汇总【巴什博奕,威佐夫博弈,尼姆博弈,斐波那契博弈】
    【Audiophobia UVA
    【Calling Circles UVA
  • 原文地址:https://www.cnblogs.com/xuepangzi/p/7929566.html
Copyright © 2011-2022 走看看