前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >老男孩Python全栈开发(92天全)视频教程 自学笔记18

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

作者头像
玩蛇的胖纸
发布2018-06-08 13:13:57
5140
发布2018-06-08 13:13:57
举报

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() 路径拼接

加密

代码语言:javascript
复制
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模块

代码语言:javascript
复制
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模块 配置文件的操作

代码语言:javascript
复制
#-*- 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 模块 正则表达式

代码语言:javascript
复制
#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']
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-11-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • day18课程内容:
    • os模块
      • 加密
        • logging模块
          • configparser模块 配置文件的操作
            • re 模块 正则表达式
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档