python使用(四)
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使用(四)的更多相关文章
- 简学Python第四章__装饰器、迭代器、列表生成式
Python第四章__装饰器.迭代器 欢迎加入Linux_Python学习群 群号:478616847 目录: 列表生成式 生成器 迭代器 单层装饰器(无参) 多层装饰器(有参) 冒泡算法 代码开发 ...
- Python 基础 四 面向对象杂谈
Python 基础 四 面向对象杂谈 一.isinstance(obj,cls) 与issubcalss(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls ...
- 初学Python(四)——set
初学Python(四)——set 初学Python,主要整理一些学习到的知识点,这次是set. # -*- coding:utf-8 -*- #先来看数组和set的差别 d=[1,1,2,3,4,5] ...
- python 函数“四剑客”的使用和介绍
python函数四剑客:lambda.map.filter和reduce. 一.lambda(匿名函数) 1. 学习lambda要注意一下几点: lambda语句被用来创建新的函数对象,并且在运行的时 ...
- Python第四天 流程控制 if else条件判断 for循环 while循环
Python第四天 流程控制 if else条件判断 for循环 while循环 目录 Pycharm使用技巧(转载) Python第一天 安装 shell 文件 Python第二天 ...
- 初识Python(四)
一.数字数据类型 Python的数字数据类型用于存储数值,它是不可变的数据类型,这意味着改变数字数据类型,则需要一个新分配的对象: Python支持四种不同的数值类型: 整型(Int):通常被称为是整 ...
- 孤荷凌寒自学python第四十九天继续研究跨不同类型数据库的通用数据表操作函数
孤荷凌寒自学python第四十九天继续研究跨不同类型数据库的通用数据表操作函数 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 不同类型 ...
- 孤荷凌寒自学python第四十八天通用同一数据库中复制数据表函数最终完成
孤荷凌寒自学python第四十八天通用同一数据库中复制数据表函数最终完成 (完整学习过程屏幕记录视频地址在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 今天经过反复折腾,最终基本上算 ...
- 孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数
孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数 (完整学习过程屏幕记录视频地址在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 今天打算完成的是通用的(至少目 ...
- 孤荷凌寒自学python第四十六天开始建构自己用起来更顺手一点的Python模块与类尝试第一天
孤荷凌寒自学python第四十六天开始建构自己用起来更顺手一点的Python模块与类,尝试第一天 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 按上一天的规划,这是根据过去我自学其它编程语 ...
随机推荐
- 分布式的CAP理论
CAP是强一致性.可用性(实时可用).分区容忍性: Consistency(一致性). Availability(可用性).Partition tolerance(分区容错性) 一般来说 P 是前提. ...
- 添加wifi adb
https://blog.csdn.net/ouyang_peng/article/details/50370786 首先弄懂怎么设置adb wifi无线调试的功能,如下所示. 1. 手机端开启adb ...
- 10-padding(内边距)
padding padding:就是内边距的意思,它是边框到内容之间的距离 另外padding的区域是有背景颜色的.并且背景颜色和内容的颜色一样.也就是说background-color这个属性将填充 ...
- crontab条目包含%号问题
crontab条目中包含%号,最常见的取时间,如:date +%d, 对%需要使用\进行转义,否则不能按预期执行,正确做法为: * * * * * echo "`date +\%d`&quo ...
- Android webview 退出关闭声音 网页调用javascript
关闭声音,目前没有好的办法,可以参考网络上的实用webview.reload(); @Override protected void onResume() { // TODO Auto-generat ...
- jenkins+maven+svn构建项目,及远程部署war包到tomcat上
要使用jenkins构建项目,当然要使用jenkins了,我使用的war版本的jenkins jenkins的官网 http://jenkins-ci.org/ 点击latest下载,但是可能因为天朝 ...
- HDU2844买表——多重背包初探
HDU2844买表多重背包问题题目大意都不大好懂,是利用手头上的硬币看看能组合出多少种价格,也就是跑完背包,看看有多少背包符合要求 剩下的就是多重背包的问题了1.第一个处理办法就是直接当01背包进行存 ...
- 用delegate实现.NET应用程序的同步函数的异步调用-.NET多线程编程实践之一
在C++中有2种类型的线程:UI Thread和Worker Thread,前者是基于用户界面的有消息循环的线程.后者是没有用户界面的侧重于大时空运算的线程.直接调用Windows相关线程及同步对象的 ...
- 转:log4j的使用简介
spring使用log4j,可以有2种方法. 1.在web.xml里不做任何配置. log4j.properties放在classpath根目录下, 这时候生成的日志文件就没有相对路径,如果写相对路径 ...
- day01_雷神_Python入门
day01 1.编程语言 主流的像C.java.python.php.C#.等,可以从不同维度分类如下: 机器码和字节码 机器码: C 字节码: 其他 note: 机器码是电脑的CPU可直接解读的数据 ...