1.file_os_option.py
2.file_option.py
3.configfile_option.py
4.logger_option.py

1.file_os_option.py

 # coding=utf8
 __author__ = 'SummerChill'
 """
 需求:
 1.在D盘创建两个目录D:\\pythontest1 D:\\pythontest2
 2.在pythontest1目录中创建两个文件hello.log1和hello.log2
 3.将pythontest1中的hello.log1修改为hello.log11;
 4.查看pythontest1目录里的文件.
 5.首先删除pythontest1的hello.log11,然后删除这两个目录.
 """
 import  os,os.path,shutil
 #判断文件夹是否存在
 if not os.path.isdir("D:\\pythontest1"):
     os.mkdir("D:\\pythontest1")
 if not os.path.isdir("D:\\pythontest2"):
     os.mkdir("D:\\pythontest2")

 os.chdir("D:\\pythontest1")#相当于cd D:\\pythontest1
 if not os.path.isfile("hello.log1"):
     open("hello.log1","w").close()# r只读,w可写,a追加
 if not os.path.isfile("hello.log2"):
     open("hello.log2","w").close()

 if os.path.isfile("hello.log11"):
     os.remove("hello.log11")
 os.rename("hello.log1","hello.log11")
 #查看D:\\pythontest1的文件信息
 print(os.listdir("D:\\pythontest1"))#['hello.log11', 'hello.log2']

 #获取各种属性

 #删除目录
 os.remove("hello.log11")
 #os.removedirs("D:\\pythontest1")#removedirs删除的时候要求文件夹中必须没有任何文件才能够执行.
 os.chdir("D:\\")#改变所在的目录....为了避免在一个目录中要删除这个目录
 shutil.rmtree("D:\\pythontest1")#
 os.removedirs("D:\\pythontest2")

2.file_option.py

 # coding=utf8
 __author__ = 'SummerChill'

 path="D:\\data.txt"
 #读取文件
 f=open(path,"r")
 #读取全部
 # print(f.read())#hhahahahahaha哈哈哈哈

 #读取为一个列表然后一行一行读取
 # print(f.readlines())#如果文件中有多行的话,会在最后打印出"\n"
 #可以是用strip()方法删除每行前后对应空白字符.
 # for line in f.readlines():# 这种f.readlines()是把文件全部都读出来变成一个列表放在内存中
 #     print(line.strip()+"***")#这样打印出的内容不会包括"\n"

 #大文件推荐使用如下读取方式
 # for line in f:
 #     print(line.strip()+"***")

 #覆盖
 # f=open(path,"w")# r只读,w可写,a追加
 # f.write("覆盖了一个")
 # f.close()

 # #追加
 # f=open(path,"a")# r只读,w可写,a追加
 # f.write("\n追加了一个")
 # f.close()
 #File not open for reading

 # r+:以读写模式打开 部分替换     和r的区别是可以写
 # w+:以读写模式打开 参见w 全替换  和w的区别是可以读
 # a+:以读写模式打开 参见a 追加    和a的区别是可以读

 # f=open(path,"r+")
 # f.write("最新")
 # f.flush()
 # #移动游标
 # f.seek(0)
 # print(f.read())
 # f.close()

 # f=open(path,"a+")
 # f.write("追加")
 # f.flush()
 # #移动游标
 # f.seek(0)
 # print(f.read())
 # f.close()

 f=open(path,"w+")
 f.write("覆盖了")
 f.flush()
 #移动游标
 f.seek(0)
 print(f.read())
 f.close()

3.configfile_option.py

 # coding=utf8
 __author__ = 'SummerChill'
 """
 Svn 的配置文件
 [user]
 SummerChill = 4433
 cc = 11

 [pwd]
 tt = 22
 """
 import  ConfigParser
 cf=ConfigParser.ConfigParser()
 path="D:\\passwd"
 #将文件转成对象
 cf.read(path)

 if not cf.has_section("user"):
     cf.add_section("user")
 if not cf.has_section("pwd"):
     cf.add_section("pwd")
 print(cf.sections())

 #在user的节点中创建SummerChill=4433
 #如果不存在则新增,如果存在则覆盖
 cf.set(")
 cf.set(")
 cf.set(")

 print(cf.options("user"))
 #查询指定的节点的值
 print(cf.getint("user","SummerChill"))
 print(cf.get("user","cc"))

 cf.remove_option("user","cc")
 cf.remove_section("pwd")
 cf.remove_section("user")

 #将cf对象写入文件
 cf.write(open(path,"w"))

4.logger_option.py

 # coding=utf8
 __author__ = 'SummerChill'

 import  logging,sys,logging.handlers,time
 #默认情况下python的logging模块默认使用StreamHandler,默认的日志级别设置为WARNING,即往sys.stderr中发送大于等于WARNING级别的日志。
 logging.info("info")
 logging.warn("warn")
 logging.debug("debug")

 #初始化logger
 logger=logging.getLogger("mylogger")
 logger.setLevel(logging.INFO)
 #创建一个handler StreamHandler(stream=None):向一个sys.stdout或者sys.stderr中写入 默认是错误输出.
 sh=logging.StreamHandler(stream=sys.stdout)
 #打印到指定的文件中
 sh=logging.FileHandler("D:\\accesslog","a")

 #切分的条件backupCount>0 并且达到maxBytes。
 sh=logging.handlers.RotatingFileHandler("D:\\log\\accesslog","a",maxBytes=10,backupCount=5)
 sh=logging.handlers.TimedRotatingFileHandler("D:\\log\\accesslog",when='S',interval=5)
 sh=logging.handlers.TimedRotatingFileHandler("D:\\log\\accesslog",when='midnight')
 #创建一个formater 并将handler 和此format关联
 format=logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
 sh.setFormatter(format)

 logger.addHandler(sh)

 logger.info("info")
 logger.warn("warn")
 logger.debug("debug")

python使用(四)的更多相关文章

  1. 简学Python第四章__装饰器、迭代器、列表生成式

    Python第四章__装饰器.迭代器 欢迎加入Linux_Python学习群  群号:478616847 目录: 列表生成式 生成器 迭代器 单层装饰器(无参) 多层装饰器(有参) 冒泡算法 代码开发 ...

  2. Python 基础 四 面向对象杂谈

    Python 基础  四  面向对象杂谈 一.isinstance(obj,cls) 与issubcalss(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls ...

  3. 初学Python(四)——set

    初学Python(四)——set 初学Python,主要整理一些学习到的知识点,这次是set. # -*- coding:utf-8 -*- #先来看数组和set的差别 d=[1,1,2,3,4,5] ...

  4. python 函数“四剑客”的使用和介绍

    python函数四剑客:lambda.map.filter和reduce. 一.lambda(匿名函数) 1. 学习lambda要注意一下几点: lambda语句被用来创建新的函数对象,并且在运行的时 ...

  5. Python第四天 流程控制 if else条件判断 for循环 while循环

    Python第四天   流程控制   if else条件判断   for循环 while循环 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Python第二天 ...

  6. 初识Python(四)

    一.数字数据类型 Python的数字数据类型用于存储数值,它是不可变的数据类型,这意味着改变数字数据类型,则需要一个新分配的对象: Python支持四种不同的数值类型: 整型(Int):通常被称为是整 ...

  7. 孤荷凌寒自学python第四十九天继续研究跨不同类型数据库的通用数据表操作函数

    孤荷凌寒自学python第四十九天继续研究跨不同类型数据库的通用数据表操作函数 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 不同类型 ...

  8. 孤荷凌寒自学python第四十八天通用同一数据库中复制数据表函数最终完成

    孤荷凌寒自学python第四十八天通用同一数据库中复制数据表函数最终完成 (完整学习过程屏幕记录视频地址在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 今天经过反复折腾,最终基本上算 ...

  9. 孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数

    孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数 (完整学习过程屏幕记录视频地址在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 今天打算完成的是通用的(至少目 ...

  10. 孤荷凌寒自学python第四十六天开始建构自己用起来更顺手一点的Python模块与类尝试第一天

     孤荷凌寒自学python第四十六天开始建构自己用起来更顺手一点的Python模块与类,尝试第一天 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 按上一天的规划,这是根据过去我自学其它编程语 ...

随机推荐

  1. vim 查找替换批量替换

    一.vi查找:    当你用vi打开一个文件后,因为文件太长,如何才能找到你所要查找的关键字呢?在vi里可没有菜单-〉查找, 不过没关系,你在命令模式下敲斜杆(/)这时在状态栏(也就是屏幕左下脚)就出 ...

  2. mmm和mmma的区别

    m:编译整个安卓系统 makes from the top of the tree mm:编译当前目录下的模块,当前目录下需要有Android.mk这个makefile文件,否则就往上找最近的Andr ...

  3. 1.6getId()方法

    getId()方法的作用是取得线程的唯一标识. package com.cky.test; /** * Created by chenkaiyang on 2017/12/2. */ public c ...

  4. 百度地图的js导入及使用

    做页面,地图可能会用到 1 导入百度地图的js库 <script type="text/javascript" src="http://api.map.baidu. ...

  5. (最短路)Silver Cow Party --POJ--3268

    题目链接: http://poj.org/problem?id=3268 题意: 先求出所有牛到x的最短路,再求出x到所有牛的最短路,两者相加取最大值(单向图)(可以用迪杰斯特拉,SPFA) 迪杰斯特 ...

  6. CentOS 5.8下快速搭建FTP服务器

    学习安装和配置vsftpd: 实验环境:CentOS 5.8 x86_64 测试环境关掉防火墙和selinux. service iptables stop setenforce 0 1.安装vsft ...

  7. POJ1742--Coins(动态规划)

    People in Silverland use coins.They have coins of value A1,A2,A3...An Silverland dollar.One day Tony ...

  8. hdu 3915 高斯消元

    http://acm.hdu.edu.cn/showproblem.php?pid=3915 这道题目是和博弈论挂钩的高斯消元.本题涉及的博弈是nim博弈,结论是:当先手处于奇异局势时(几堆石子数相互 ...

  9. python全栈学习1.开课介绍

    python————web  && 爬虫 Django pyramid Tornado Bottle Flask GUI图形开发 QT 想要类似于执行shell脚本一样执行python ...

  10. hive 实现类似 contain 包含查询

    如何用hive sql 实现 contain 查询? 需求:判断某个字符串是否在另一个字符串中? 方法: 可以自定义函数,但是用正则匹配regexp更方便 代码如下: 首先,查看regexp正则函数的 ...