Python實(shí)現(xiàn)Linux的find命令實(shí)例分享
更新時(shí)間:2017年06月04日 10:17:23 作者:linuxidc
本文給大家分享的是使用python簡單實(shí)現(xiàn)模擬linux的find命令的實(shí)例代碼,推薦給大家,希望大家能夠喜歡
使用Python實(shí)現(xiàn)簡單Linux的find命令
代碼如下:
#!/usr/bin/python #*-*coding:utf8*-* from optparse import OptionParser import os import sys #使用選項(xiàng)幫助信息可以使用中文 reload(sys) sys.setdefaultencoding("utf-8") #定義選項(xiàng)以及命令使用幫助信息 usage = sys.argv[0] + " Directory Options\n\n例:"+sys.argv[0] + " /etc --type f --name passwd\n\n注意:選項(xiàng)和目錄益可隨意調(diào)換,可以寫多個(gè)目錄,會(huì)從多個(gè)目錄中進(jìn)行查找" parser = OptionParser(usage) parser.add_option("--type", dest="filetype", action="store", default=False, help="指定查找對(duì)象的類型,文件類型可以是 d:代表目錄 f:代表文件") parser.add_option("--name", dest="name", action="store", default=False, help="指定查找對(duì)象的名稱,文件或目錄全名") options, args = parser.parse_args() def find(dir): directory = os.walk(dir) for x, y, z in directory: if options.filetype == "f": for name in z: if name == options.name: path = os.path.join(x,name) print(path) if options.filetype == "d": for name in y: if name == options.name: path = os.path.join(x,name) print(path) #判斷目錄是否存在,并且是否為目錄 for dir in args: if os.path.exists(dir) == False: sys.stderr.write(dir+" is not found\n") exit(100) if os.path.isfile(dir): sys.stderr.write(dir+" is a file\n") exit(101) #判斷--type選項(xiàng)是否正確,只能跟 f 或者 d if not (options.filetype == "f" or options.filetype == "d"): sys.stderr.write("--type only support d or f\n") exit(102) if __name__ == "__main__": for dir in args: find(dir)
運(yùn)行結(jié)果如下:
相關(guān)文章
Python下opencv使用hough變換檢測(cè)直線與圓
在數(shù)字圖像中,往往存在著一些特殊形狀的幾何圖形,像檢測(cè)馬路邊一條直線,檢測(cè)人眼的圓形等等,有時(shí)我們需要把這些特定圖形檢測(cè)出來,本文就詳細(xì)的介紹了一下方法2021-06-06Python OpenCV學(xué)習(xí)之圖形繪制總結(jié)
在圖像的任務(wù)中,不管是圖像檢測(cè)還是圖像識(shí)別,我們都需要通過繪制圖形和繪制文字對(duì)處理的結(jié)果進(jìn)行說明,本篇就詳細(xì)介紹下OpenCV中的圖形的繪制,感興趣的可以了解一下2022-01-01python安裝并使用virtualenv管理包的詳細(xì)過程
本文主要介紹了Python的安裝過程和如何使用virtualenv管理包,首先,用戶需要訪問Python官網(wǎng)下載安裝包,并運(yùn)行安裝程序,安裝完成后,在命令行輸入Python,顯示安裝的Python版本號(hào),即表示安裝成功,感興趣的朋友一起看看吧2024-10-10python tkinter 設(shè)置窗口大小不可縮放實(shí)例
這篇文章主要介紹了python tkinter 設(shè)置窗口大小不可縮放實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03簡單談?wù)凱ython面向?qū)ο蟮南嚓P(guān)知識(shí)
由于馬上就要期末考試了,正在抓緊時(shí)間復(fù)習(xí) 所以這一篇就拖了很久,抱歉啦~ 今天會(huì)說說: 屬性私有,方法私有,重寫,魔術(shù)方法,需要的朋友可以參考下2021-01-01Python Flask的request對(duì)象使用詳解
本文介紹Flask request對(duì)象,一個(gè)完整的HTTP請(qǐng)求,包括客戶端向服務(wù)端發(fā)送的Request請(qǐng)求和服務(wù)器端發(fā)送Response響應(yīng).為了能方便訪問獲取請(qǐng)求及響應(yīng)報(bào)文信息,Flask框架提供了一些內(nèi)建對(duì)象,下面就來說一下Flask針對(duì)請(qǐng)求提供內(nèi)建對(duì)象reques,需要的朋友可以參考一下2023-02-02Django使用unittest模塊進(jìn)行單元測(cè)試過程解析
這篇文章主要介紹了Django使用unittest模塊進(jìn)行單元測(cè)試過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08