快速尋找檔案 Python

2022-02-14 19:07:23 字數 2512 閱讀 5626

快速尋找檔案

根據檔案名字匹配, 根據檔案內容匹配

#!/usr/bin/env python

# -*- coding: utf-8 -*-import os

import re

class

quicksearchfile:

'''快速尋找檔案

'''def file_name_search(self, file_dir_path, keyword):

'''檔案名字匹配

'''search_result_array =

for root, dirs, files in

os.walk(file_dir_path):

# root 表示當前正在訪問的資料夾路徑

# dirs 表示該資料夾下的子目錄名list

# files 表示該資料夾下的檔案list

# 針對當前目錄

for file_name in

files:

ifre.search(keyword, file_name):

search_result = os.path.join(root, file_name).replace('

\\', '/'

)

return

search_result_array

def file_content_search(self, file_dir_path, keyword):

'''檔案內容匹配

'''search_result_array =

for root, dirs, files in

os.walk(file_dir_path):

for file_name in

files:

file_path =os.path.join(root, file_name)

print(

'----- 正在檢索{} -----

'.format(file_path))

try:

with open(file_path, 'rb

') as

f: content = f.read().decode("

utf8

", '

ignore

') # utf-8

, gbk

f.close()

# 匹配

ifre.search(keyword, content):'\\

', '/'

)) except exception

ase:

print(

'---- file_path: {} 不是可開啟的檔案 -----

'.format(file_path))

return

search_result_array

if __name__ == '

__main__':

obj =quicksearchfile()

search_file_type = input('

1: file_content(檔案內容匹配), 2: file_name(檔名稱匹配) 請輸入搜尋檔案型別[1-2]: ')

while

true:

if str(search_file_type) in ['

1', '2'

]: file_dir_path = input('

請輸入搜尋檔案所在的目錄: ')

if not file_dir_path: file_dir_path = '

/data/strategy/redis2mysql4decompression

'# 測試

keyword = input('

請輸入需要搜尋的內容: ')

if str(search_file_type) == '1'

: search_result_array =obj.file_content_search(file_dir_path, keyword)

print(

'返回結果: 關鍵字keyword: {}, 所在的所有檔案列表: {}

'.format(keyword, search_result_array))

elif str(search_file_type) == '2'

: search_result_array =obj.file_name_search(file_dir_path, keyword)

print(

'返回結果: 關鍵字keyword: {}, 所在的所有檔案列表: {}

'.format(keyword, search_result_array))

else

: print(

'請重新輸入, 選擇[1-2]

')

快速尋找控制項的id

在實際專案的activity中,往往我們要通過findviewbyid方法去尋找控制項的id。介面的控制項越多,我們就要與之對應的寫一次findviewbyid。是不是覺得有點煩惱,那麼有沒有優雅點的方法來解決這個問題呢。答案是肯定的,你可以選擇一些開源框架尋找控制項的id,如butterknife...

如何用Python尋找重複檔案並刪除

在實際生活中,經常會有檔案重複的困擾,即同乙個檔案可能既在a目錄中,又在b目錄中,更可惡的是,即便是同乙個檔案,檔名可能還不一樣。在檔案較少的情況下,該類情況還比較容易處理,最不濟就是one by one的人工比較 即便如此,也很難保證你的眼神足夠犀利。倘若檔案很多,這豈不是個impossible ...

關於快速尋找素數的方法

利用素數篩選法進行素數的快速查詢。原理很簡單,素數一定是奇數,素數的倍數一定不是素數。思路如下 預定義n表示10000,即表示查詢10000以內的素數,首先定義陣列prime對n以內的數進行標記,奇數存為1,偶數存為0,最終實現結果為素數的prime值為1,因此將prime 2 賦值為1 2是素數 ...