欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實現(xiàn)Linux的find命令實例分享

 更新時間:2017年06月04日 10:17:23   作者:linuxidc  
本文給大家分享的是使用python簡單實現(xiàn)模擬linux的find命令的實例代碼,推薦給大家,希望大家能夠喜歡

使用Python實現(xiàn)簡單Linux的find命令

代碼如下:

#!/usr/bin/python

#*-*coding:utf8*-*

from optparse import OptionParser

import os

import sys

#使用選項幫助信息可以使用中文

reload(sys)

sys.setdefaultencoding("utf-8")

#定義選項以及命令使用幫助信息

usage = sys.argv[0] + " Directory Options\n\n例:"+sys.argv[0] + " /etc --type f --name passwd\n\n注意:選項和目錄益可隨意調(diào)換,可以寫多個目錄,會從多個目錄中進行查找"

parser = OptionParser(usage)

parser.add_option("--type",

dest="filetype",

action="store",

default=False,

help="指定查找對象的類型,文件類型可以是 d:代表目錄 f:代表文件")

parser.add_option("--name",

dest="name",

action="store",

default=False,

help="指定查找對象的名稱,文件或目錄全名")

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選項是否正確,只能跟 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)

運行結(jié)果如下:

相關(guān)文章

  • Python下opencv使用hough變換檢測直線與圓

    Python下opencv使用hough變換檢測直線與圓

    在數(shù)字圖像中,往往存在著一些特殊形狀的幾何圖形,像檢測馬路邊一條直線,檢測人眼的圓形等等,有時我們需要把這些特定圖形檢測出來,本文就詳細(xì)的介紹了一下方法
    2021-06-06
  • Python OpenCV學(xué)習(xí)之圖形繪制總結(jié)

    Python OpenCV學(xué)習(xí)之圖形繪制總結(jié)

    在圖像的任務(wù)中,不管是圖像檢測還是圖像識別,我們都需要通過繪制圖形和繪制文字對處理的結(jié)果進行說明,本篇就詳細(xì)介紹下OpenCV中的圖形的繪制,感興趣的可以了解一下
    2022-01-01
  • python安裝并使用virtualenv管理包的詳細(xì)過程

    python安裝并使用virtualenv管理包的詳細(xì)過程

    本文主要介紹了Python的安裝過程和如何使用virtualenv管理包,首先,用戶需要訪問Python官網(wǎng)下載安裝包,并運行安裝程序,安裝完成后,在命令行輸入Python,顯示安裝的Python版本號,即表示安裝成功,感興趣的朋友一起看看吧
    2024-10-10
  • python tkinter 設(shè)置窗口大小不可縮放實例

    python tkinter 設(shè)置窗口大小不可縮放實例

    這篇文章主要介紹了python tkinter 設(shè)置窗口大小不可縮放實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • 簡單談?wù)凱ython面向?qū)ο蟮南嚓P(guān)知識

    簡單談?wù)凱ython面向?qū)ο蟮南嚓P(guān)知識

    由于馬上就要期末考試了,正在抓緊時間復(fù)習(xí) 所以這一篇就拖了很久,抱歉啦~ 今天會說說: 屬性私有,方法私有,重寫,魔術(shù)方法,需要的朋友可以參考下
    2021-01-01
  • python屬于跨平臺語言碼

    python屬于跨平臺語言碼

    在本篇文章里小編給大家整理的是關(guān)于python是否跨平臺的相關(guān)知識點文章,有興趣的朋友們可以參考下。
    2020-06-06
  • Python Flask的request對象使用詳解

    Python Flask的request對象使用詳解

    本文介紹Flask request對象,一個完整的HTTP請求,包括客戶端向服務(wù)端發(fā)送的Request請求和服務(wù)器端發(fā)送Response響應(yīng).為了能方便訪問獲取請求及響應(yīng)報文信息,Flask框架提供了一些內(nèi)建對象,下面就來說一下Flask針對請求提供內(nèi)建對象reques,需要的朋友可以參考一下
    2023-02-02
  • django-初始配置(純手寫)詳解

    django-初始配置(純手寫)詳解

    這篇文章主要介紹了django-初始配置(純手寫)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • Django使用unittest模塊進行單元測試過程解析

    Django使用unittest模塊進行單元測試過程解析

    這篇文章主要介紹了Django使用unittest模塊進行單元測試過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • 解決Pycharm界面的子窗口不見了的問題

    解決Pycharm界面的子窗口不見了的問題

    今天小編就為大家分享一篇解決Pycharm界面的子窗口不見了的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01

最新評論