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)

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM