python学习(十八)OS模块方法

import OS
print(os.getcwd()) #取当前工作目录

os.chmod('/usr/local',7) #Linux中给文件/目录加权限
print(os.chdir("../day5")) #更改当前目录,相对路径
print(os.chdir("F:pycharm_workspacecodebyemilyday5")) #更改当前目录,绝对路径
print(os.getcwd())
print(os.makedirs('liujia/test'))#递归创建文件夹,父目录不存在时创建父目录
print(os.mkdir('liujia1/test1'))#创建文件夹,没有父目录会报错
print(os.removedirs('liujia/test'))#递归删除空目录
print(os.rmdir('test1')) #删除指定的文件夹,也只能删除空目录
print(os.remove('liujia/test/11')) #只能删除文件
print(os.rmdir('test')) #只能删除文件夹
print(os.listdir('G:\')) #列出一个目录下的所有文件
print(os.rename('test','test1')) #重命名
print(os.stat('test.txt'))#获取文件信息
print(os.sep) #当前操作系统的路径分隔符 ,windows下的就是
#用这种方式写的话,可以同时在不同系统用,不会报错
print(os.linesep) #当前操作系统的换行符 ,
print(os.pathsep) #当前系统环境变量的分隔符,linux是: windows是;
print(os.environ)#当前系统的环境变量
print(os.name) #当前系统的名称,windows系统是nt linux系统是posix
os.system('ipconfig') #执行操作系统命令的 ,
res=os.popen('ipconfig').read()#可以获取到命令执行的结果
print(res)

print(os.path.abspath(__file__)) #获取当绝对路径
print(__file__) #获取当前文件的绝对路径
print(os.path.dirname("G:360DownloadsSoftware")) #获取父目录,获取它的上一级目录
print(os.path.basename('G:360Downloadswpcache360wallpaper.jpg')) #获取最后一级
print(os.path.exists('')) #目录是否存在
print(os.path.isabs('../day5')) #判断是否是绝对路径
print(os.path.isfile('ceshi.py')) #判断是否存在,且是不是一个文件
print(os.path.isdir('')) #是否是一个路径,目录是否存在
size=os.path.getsize('') #获取文件的大小
print(size)
print(os.path.join('root','hehe','mysql','a.sql')) #拼接一个路径

for abs_path,dir,file in os.walk('../day6'):
    print(abs_path,dir,file)
#abs_path当前循环的绝对路径
#dir目录下面所有的文件夹
#file目录下面所有的文件
小练习
在day6文件夹下有一个logs文件夹,格式如图所示
 

 在双数日期的日志里面随便写点东西

分析:

1)获取到logs目录下面的所有文件 os.walk()

2)根据文件名判断是不是双数日期 ,分割字符串,取到日期

3)12%2==0

4)打开这个文件 open()

import os
for abs_path,dir,file in os.walk('F:/pycharm_workspace/codebyemily/day6/logs'):
    #print(abs_path,file)
    for i in file:  #循环列表,取每个元素
        day=i.split('.')[0].split('-')[-1]#对每个文件名进行分割,先按照.分割,然后按照-分割,分割后,取最后一个元素就是天
        if int(day)%2==0: #取双数天
            filename=os.path.join(abs_path,i)#拼接绝对路径
            #print(filename)
            open(filename,'a+',encoding='utf-8').write('测试')

执行后,查看log文件,双数日期的都写入了‘测试’。

原文地址:https://www.cnblogs.com/emilyliu/p/8982700.html