用os模組構建檔案查詢器

2021-08-01 03:06:02 字數 1499 閱讀 5008

探索目錄樹深度

>>> import os

>>> for t in os.walk('./'):

...     print(t)

#/usr/bin/python

#coding:utf-8

#file_tree.py module containing functions to assist

#in working with directory hierarchies

#base on the os.walk() function.

#os.walk()返回三元組(當前目錄,當前目錄下的目錄列表,當前目錄下的檔案列表)

import os,re

import os.path as path

#查詢檔案

def find_files(pattern,base='.'):

regex = re.compile(pattern) #引數pattern接受正規表示式,為了提高效率而編譯

matches =

for root,dits,files in os.walk(base):

for f in files:

if regex.match(f): #匹配

return matches

#查詢目錄

def find_dirs(pattern,base = '.'):

regex = re.compile(pattern)

matches =

for root,dits,files in os.walk(base):

for d in dits:

if regex.match(d):

return matches

#查詢目錄和檔案

def find_all(pattern ,base = '.'):

matches = find_dirs(pattern,base)

matches += find_files(pattern,base)

return matches

#引數function作用到查詢到檔案上

regex = re.compile(pattern)

errors =

for root,dits,files in os.walk(base):

for f in files:

if regex.match(f):

try:function(path.join(root,f))

return errors

if __name__ == "__main__":

filename = find_files('.*\.txt','treeroot')

print(filename)

filename = find_all('d1','treeroot')

print(filename)

注:測試目錄treeroot 已上傳

檔案OS模組

檔案os模組 開啟檔案open file open file name路徑,訪問模式 r 以唯讀的方式開啟 rb 以二進位制的方式開啟乙個檔案用於唯讀 w 開啟乙個檔案只用於寫入 a 追加 在當前路徑下建立乙個文字檔案 file1 open 1.txt w 注意 對檔案操作完後,一定要記得關閉檔案,...

os模組 檔案路徑

1.檔案所在絕對路徑 file d program os.path.abspath file d program 注意 os.getcwd 返回當前工作目錄,當工作目錄與檔案實際所在路徑不同時,返回結果與os.path.abspath 返回結果不同2.檔案所在資料夾路徑 os.path.dirnam...

構建檔案系統rootfs

目錄 一 工具準備 1 工具包 2 工具mkfs.jffs2編譯 3 工具mkyaffs2image編譯 二 檔案系統目錄 三 編譯busybox 1.7.0 四 建立重要目錄 1 console 和 null 2 etc inittab 3 安裝c庫 4 製作根檔案系統 五 優化 5 支援proc...