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\b',r'a\bb')#修改目录名或文件名
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\b',r'a\bb')#修改目录名或文件名
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('w\w{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('[\d\w]{2,4}\.com') #将正则表达式封装成一个对象使用
m=obj.findall('163.comqq.comyahu.com')
print(m) #['163.com', 'qq.com', 'yahu.com']

老男孩Python全栈开发(92天全)视频教程 自学笔记18的更多相关文章

  1. 老男孩Python全栈开发(92天全)视频教程 自学笔记02

    day2课程目录: 操作系统的历史 二进制运算 字符编码与计算机容量 编程语言介绍 开发语言分类 演讲能力锻炼 day2课程内容梳理: 操作系统发展史: Unix系统 极其稳定 现在很多银行还在用 L ...

  2. 老男孩Python全栈开发(92天全)视频教程 自学笔记03

    day3课程目录: pyhton的历史 32bit和64bit系统的区别 Python版本的选择 第一个pyhton程序 文件后缀名及系统环境变量的介绍 pyhton程序的执行和其他编程语言的简单对比 ...

  3. 老男孩Python全栈开发(92天全)视频教程 自学笔记01

    day1课程目录: 开课介绍(1) 开课介绍(2) 开课介绍(3) 电脑简史(1) 电脑简史(2) 计算机结构 day1课程内容梳理: 导师介绍: Alex Li(金角大王):买了一辆特斯拉,喜欢姑娘 ...

  4. 老男孩Python全栈开发(92天全)视频教程 自学笔记09

    day9课程内容: 乌班图(ubuntu)64位系统 和 VMware 虚拟机安装(官网收费又麻烦,在网上找资源 安装vmware: vm运行(秘钥找度娘)--文件--新建虚拟机--自定义 下一步-- ...

  5. 老男孩Python全栈开发(92天全)视频教程 自学笔记20

    day20课程内容: 模块: #模块一共三种:1.Python标准库 2.第三方模块 3.应用程序自定义的模块#import sysimport jisuanapp#print(jisuanapp.a ...

  6. 老男孩Python全栈开发(92天全)视频教程 自学笔记07

    day7课程内容: Python的编码解码 二进制 --->ASCII:只能存英文和拉丁字符,一个字符占一个字节,8位 ------->gb2312:只能6700多个中文,1980年 -- ...

  7. 老男孩Python全栈开发(92天全)视频教程 自学笔记06

    day6课程内容: tuple(元祖) 创建元祖: tup0=() #没有元素的一个元祖 tup1=(20,)#只有一个元素的元祖 元祖可读,不可修改 Dictionary(字典)#Python里唯一 ...

  8. 老男孩Python全栈开发(92天全)视频教程 自学笔记05

    day5课程内容: 集成开发环境(IDE) VIM #经典的Linux下的文本编辑器 Eclipse #Java IDE Visual Studio #微软开发的IDE notepad++ subli ...

  9. 老男孩Python全栈开发(92天全)视频教程 自学笔记04

    day4课程目录: 逻辑运算符 while循环 day4课程内容梳理: 逻辑运算符 算数运算符:+,-,*,/,%,** 比较运算符:< ,>, ==,<=,>=,!=, 逻辑 ...

  10. 老男孩Python全栈开发(92天全)视频教程 自学笔记21

    day21课程内容:  json: #序列化 把对象(变量)从内存中 编程可存储和可传输的过程 称为序列化import jsondic={'name':'abc','age':18}with open ...

随机推荐

  1. python生产随机数案例

    法1: list =list(string.lowercase + string.uppercase) + [str(i) for i in range(10)]FH=('!','@','#','$' ...

  2. js_10_dom表单

    事件的优先级? 先执行事件,后执行标签内置事件,如果事件返回false不执行后面的事件或标签内置事件 如何通过js提交表单? 任意标签定义onclick事件 函数中写入:document.getEle ...

  3. 《共享库PATH与ld.so.conf简析》

    这是摘抄<共享库PATH与ld.so.conf简析>1. 往/lib和/usr/lib里面加东西,是不用修改/etc/ld.so.conf的,但是完了之后要调一下ldconfig,不然这个 ...

  4. 如何书写优雅、漂亮的SQL脚本?

    本篇来聊聊如何书写漂亮.整洁.优雅的SQL脚本,下面这些是我个人总结.整理出来的.姑且做个抛砖引玉吧,呵呵,欢迎大家一起来讨论.   我们首先来看看一段创建数据表的脚本(如下所示),你是否觉得有什么不 ...

  5. web.xml 中CharacterEncodingFilter类的学习

    过滤器配置 当前台JSP页面和JAVA代码中使用了不同的字符集进行编码的时候就会出现表单提交的数据或者上传/下载中文名称文件出现乱码的问题 //编码方式配置 <filter> <fi ...

  6. Event Sourcing pattern

    Event Sourcing pattern Instead of storing just the current state of the data in a domain, use an app ...

  7. iOS-获取通讯录联系人信息

    头文件 #import <AddressBook/AddressBook.h> #import <AddressBookUI/AddressBookUI.h> 授权 关于通讯录 ...

  8. 【OH】Oracle软件安装需要的软件包(官方文档)

    1  安装12c 1.1  Table 3 x86-64 Supported Linux 7 Operating System Requirements Item Requirements SSH R ...

  9. 生成模型(generative model)与判别模型(discriminative model)的区别

    监督学习可以分为生成方法与判别方法,所学到的模型可以分为生成模型与判别模型. 生成模型 生成模型由数据学习联合概率分布\(P(X,Y)\),然后求出条件概率分布\(P(Y|X)\)作为预测的模型,即生 ...

  10. java签名与验签

    基本概念: 加密解密 加密:发送方利用接收方的公钥对要发送的明文进行加密. 解密:接收方利用自己的私钥进行解密. 公钥和私钥配对的,用公钥加密的文件,只有对应的私钥才能解密.当然也可以反过来,用私钥加 ...