zoukankan      html  css  js  c++  java
  • python 删除文件和读取文件

    import os
    os.walk(path)

    path是指想要遍历的文件夹的路径

    这个函数得到的结果是一个或多个tuple,个数取决于路径下是否有文件夹:如果没有文件夹的话,那么只有一个tuple,如果有的话,假如有3个,那么就会有4个tuple。

    而每个tuple中有三项: 

    1.当前文件夹的路径(str类型)

    2.当前文件夹中的所有文件夹名称(list类型)

    3.当前文件夹中所有文件的名称

    os.listdir(path)
    

    listdir()函数能得到文件夹下所有文件(包括文件夹)的名称,但是无法获取子文件夹的状态

    import os
    path = "D:/Python34/news" #文件夹目录
    files= os.listdir(path) #得到文件夹下的所有文件名称
    s = []
    for file in files: #遍历文件夹
         if not os.path.isdir(file): #判断是否是文件夹,不是文件夹才打开
              f = open(path+"/"+file); #打开文件
              iter_f = iter(f); #创建迭代器
              str = ""
              for line in iter_f: #遍历文件,一行行遍历,读取文本
                  str = str + line
              s.append(str) #每个文件的文本存到list中
    print(s)
    

      

    top = 'D:\卷烟厂资料\python\tag_data\tag_data_dir'
    for root, dirs, files in os.walk(top, topdown=False):
        for name in files:
            os.remove(os.path.join(root, name))
            print('删除完成',name)
    

    能删除tag_data_dir下的所有文件,但是保留着空的文件夹。

     浏览目录下的所有子文件夹,并删除满足条件的文件夹(文件夹命名是日期)

    import os
    import datetime
    import shutil
    
    dayEx = 7
    rootDir = "D:\"
    
    
    def clean_dir(path):
        for root, dirs, files in os.walk(path):
            for dir_name in dirs:
                try:
                    datedir = datetime.datetime.strptime(dir_name, "%Y-%m-%d")
                    if (datetime.datetime.now() - datedir).days > dayEx:
                        print("rm %s" % dir_name)
                        shutil.rmtree(os.path.join(root, dir_name))
                except:
                    continue
    
    
    clean_dir(rootDir)
    

      

  • 相关阅读:
    etcd客户端c#
    【Python 2 到 3 系列】 关于除法的余数
    彻底搞定C指针--“函数名与函数指针”
    关于 函数指针和函数名 例子的疑难解答
    stat.h头文件,轻松获取文件属性
    C++指针之间的赋值与转换规则总结
    (转)mblog解读(二)
    (转)mblog解读(一)
    (转)renren-fast解读(二)
    (转)renren-fast解读(一)
  • 原文地址:https://www.cnblogs.com/xxupup/p/11975953.html
Copyright © 2011-2022 走看看