preface:同仁遇到乙個問題,需要在上萬個檔案中找到第7000個檔案,凌亂。。。查了下python相關資料,雖說沒有完全解決,但還是有東西記錄下來。
一、對某個資料夾下遍歷檔案,os.walk可破。若是多個資料夾的話,配合isdir, isfile等函式可破(引數可有可無):
for i in os.walk(os.getcwd(),topdown=true, οnerrοr=none, followlinks=false):
print i
os.path下判斷型的函式:
exists()
指定路徑(檔案或者目錄)是否存在
isabs()
指定路徑是否為絕對路徑
isdir()
指定路徑是否存在且為乙個目錄
isfile()
指定路徑是否存在且為乙個檔案
islink()
指定路徑是否存在且為乙個符號鏈結
ismount()
指定路徑是否存在且為乙個掛載點
samefile()
兩個路徑名是否指向同乙個檔案
這樣返回i[3]為檔名的列表,但是不知道是什麼順序,這就要根據檔案資訊進行排序了,看你怎麼需要,怎麼排序。
比如說以檔案先後訪問時間進行排序:
for i in os.walk(os.getcwd(),topdown=false):
for j in i[2]:
print j,os.path.getctime(j)
在os.path下,有如下關於檔案資訊的函式:
getatime()
返回最近訪問時間 (浮點型秒數)
getctime()
返回檔案建立時間
getmtime()
返回最近檔案修改時間
getsize()
返回檔案大小 (位元組為單位)
abspath()
返回絕對路徑
normpath()
規範path字串形式
得到具體的資訊,剩下的就好處理了。sorted函式排序可破,重點不在這裡,暫不介紹了。
#******************************
參考:
執行某個資料夾下的全部py檔案
import os 執行乙個檔案裡所有的檔案,比如 def func path 先判斷這個path是檔案還是資料夾 isdir,isfile 如果是檔案 py結尾 if os.path.isfile path and path.endswith py 執行這個檔案 需要記怎麼執行檔案 os.syst...
Ubuntu刪除資料夾下某個檔案之外的其他所有檔案
假設當前目錄下有以下檔案 想要刪除1.txt以外的檔案和目錄,第一種可行的方法如下 先把1.txt以外的檔案找出來,然後刪除。cxdn1013 cxdn1013 inspiron 5439 0202 ls grep v 1.txt 2.txt delete.sh downloads cxdn1013...
資料夾下的檔案遍歷 python
概述 細節描述及實現總結 一.概述 整體概述 常見問題如 資料夾下面檔案的查詢 檔名及檔案內容的特定需要的檢索 前提是需要資料夾下面檔案的遍歷操作,故在此列出。功能概述 遍歷資料夾 包含子目錄 訪問資料夾下面的檔案並記錄其絕對路徑 二.細節描述及實現 細節描述 printpath level,pat...