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. Spring boot自动设置包依赖,根本不用记,

    maven有和多依赖包,每次搭建都很麻烦,其实IDE ,有个小技巧,就是如图所示,你给需要的技术,加入进去,自动就会生成包和相关依赖,根本无需自己配置

  2. vue中$route 和$router的区别

    在vue中会出现一种情况 const url=this.$route.query.returnURL; this.$router.push(url);    $router和$route的区别傻傻的分 ...

  3. svn 提交代码 自动过滤技巧

    操作 在用svn管理版本时,有时希望在提交到服务器时,能过滤掉指定后缀名的所有文件,或指定名称的文件夹.文件名. 常见的文件夹名称和文件名如下: bin obj debug temppe *.suo ...

  4. MODULE_DEVICE_TABLE 的作用

    pci_device_id,PCI设备类型的标识符.在include/linux/mod_devicetable.h头文件中定义.struct pci_device_id {        __u32 ...

  5. linux grep进阶

    1.搜寻特定字符串 搜寻特定字符串很简单吧?假设我们要从刚刚的文件当中取得 the 这个特定字符串,最简单的方式就是这样: 那如果想要『反向选择』呢?也就是说,当该行没有 'the' 这个字符串时才显 ...

  6. 【转】sql递归查询问题

    原文链接地址http://www.cnblogs.com/sweting/archive/2009/06/08/1498483.html 在工作中遇到一个问题,是需要sql递归查询的.不懂,于是到cs ...

  7. RxSwift学习笔记5:Binder

    使用 Binder 创建观察者 //Observable序列(每隔1秒钟发出一个索引数) let scheduleObservable = Observable<Int>.interval ...

  8. day05_雷神_函数进阶

    #day05 1.迭代器 1.1可迭代对象 str,list,tuple,dict,set,range,文件句柄 等都是可迭代对象 第一种方法:在该对象中,含有__iter__方法的就是可迭代对象,遵 ...

  9. how can I make the login form transparent?

    This is how you can make the Login Form transparent: 1. Add this css to Server Module-> Custom cs ...

  10. 多条件情况查询,sql select case when when else

    多条件情况查询 SELECT      Title,     'Price Range' =     CASE         WHEN price IS NULL THEN 'Unpriced'   ...