Python 資料夾遍歷和檔案查詢

2021-08-01 15:25:52 字數 1853 閱讀 3952

# -*- coding: utf-8 -*-

#to find where use the table on ***xx ****** production env

'''在專案中我們元資料管理的不是很好,如果先知道一張表在**用過,就需要寫個程式去遍歷下

'''import os

import os.path

rootdir = "c:\\users\\ibm_admin\\ibm\\rationalsdp\\workspace"# # 指明被遍歷的資料夾

query = "*********"

def walk_all_files(rootdir,query):

for parent,dirnames,filenames in os.walk(rootdir): #for迴圈自動完成遞迴列舉 #三個引數:分別返回1.父目錄(當前路徑) 2.所有資料夾名字(不含路徑) 3.所有檔案名字

for dirname in dirnames: #輸出資料夾資訊

#print "parent is:" + parent

#print "dirname is :" + dirname

pass

for filename in filenames: #輸出檔案資訊

#print "parent is :" + parent

#print "filename is:" + filename

#print "the full name of the file is :" + os.path.join(parent,filename)

is_file_contain_word(os.path.join(parent,filename),query)

def is_file_contain_word(file_,query_word):

#print 1111111

if query_word in open(file_).read() :

print file_

filecontext = open(file_).read()

for line in lines:

if query_word in line:

print line

walk_all_files(rootdir,query)

print "done"

'''please explain os.walk() :

walk()方法語法格式如下:

os.walk(top[, topdown=true[, οnerrοr=none[, followlinks=false]]])os.walk(top[, topdown=true[, οnerrοr=none[, followlinks=false]]])

引數 top -- 根目錄下的每乙個資料夾(包含它自己), 產生3-元組 (dirpath, dirnames, filenames)【資料夾路徑, 資料夾名字, 檔名】。

topdown --可選,為true或者沒有指定, 乙個目錄的的3-元組將比它的任何子資料夾的3-元組先產生 (目錄自上而下)。如果topdown為 false, 乙個目錄的3-元組將比它的任何子資料夾的3-元組後產生 (目錄自下而上)。

onerror -- 可選,是乙個函式; 它呼叫時有乙個引數, 乙個oserror例項。報告這錯誤後,繼續walk,或者丟擲exception終止walk。

followlinks -- 設定為 true,則通過軟鏈結訪問目錄。

返回值該方法沒有返回值。

'''

python遍歷資料夾和檔案

在python中,檔案操作主要來自os模組,主要方法如下 os.listdir dirname 列出dirname下的目錄和檔案 os.getcwd 獲得當前工作目錄 os.curdir 返回當前目錄 os.chdir dirname 改變工作目錄到dirname os.path.isdir nam...

python遍歷資料夾和檔案

在python中,檔案操作主要來自os模組,主要方法如下 os.listdir dirname 列出dirname下的目錄和檔案 os.getcwd 獲得當前工作目錄 os.curdir 返回當前目錄 os.chdir dirname 改變工作目錄到dirname os.path.isdir nam...

python遍歷資料夾和檔案

在python中,檔案操作主要來自os模組,主要方法如下 os.listdir dirname 列出dirname下的目錄和檔案 os.getcwd 獲得當前工作目錄 os.curdir 返回當前目錄 os.chdir dirname 改變工作目錄到dirname os.path.isdir nam...