成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

windwos下如何實(shí)現(xiàn)du命令-創(chuàng)新互聯(lián)

這篇文章給大家介紹windwos下如何實(shí)現(xiàn)du命令,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

創(chuàng)新互聯(lián)公司從2013年成立,公司以成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、系統(tǒng)開發(fā)、網(wǎng)絡(luò)推廣、文化傳媒、企業(yè)宣傳、平面廣告設(shè)計(jì)等為主要業(yè)務(wù),適用行業(yè)近百種。服務(wù)企業(yè)客戶千余家,涉及國內(nèi)多個(gè)省份客戶。擁有多年網(wǎng)站建設(shè)開發(fā)經(jīng)驗(yàn)。為企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、創(chuàng)意設(shè)計(jì)、宣傳推廣等服務(wù)。 通過專業(yè)的設(shè)計(jì)、獨(dú)特的風(fēng)格,為不同客戶提供各種風(fēng)格的特色服務(wù)。

本文轉(zhuǎn)自羊皮卷網(wǎng)站,未得授權(quán),不得私自轉(zhuǎn)發(fā)
du 能以指定的目錄下的子目錄為單位,顯示每個(gè)目錄內(nèi)所有檔案所占用的磁盤空間大小
但是,du命令只支持unix/liunx,他是不支持windows的,怎么樣讓他支持windows哪。
windwos下如何實(shí)現(xiàn)du命令
?在以往的維護(hù)過程中,特別是清理日志時(shí),我自己非常頻繁使用這個(gè)命令,因?yàn)榭梢钥焖俣ㄎ荒夸洝⑽募拇笮?,是清理磁盤的利器。


如果我們維護(hù)了windows服務(wù)器的話,查看目錄大小要一個(gè)一個(gè)的選中目錄,然后右鍵,在查看目錄大小的話,效率太低了。所以我們可以考慮自己做個(gè)命令工具,簡單實(shí)現(xiàn)du命令,并對(duì)目錄大小進(jìn)行排序,就像這樣:

windwos下如何實(shí)現(xiàn)du命令



用python實(shí)現(xiàn)流程分析


1、給用戶輸入path:
我們建立一個(gè)簡單的啟動(dòng)函數(shù)start,專門用戶給用戶輸入path
def start():


2、根據(jù)path,找到目錄文件,統(tǒng)計(jì)大小,并排序:
我們建立一個(gè)list函數(shù),接受path后,找出目錄、文件,并將目錄名稱、文件名稱、大小數(shù)據(jù)放入字典,最后對(duì)字典排序,


def list(path):


3、統(tǒng)計(jì)文件大?。?br/>def getSize(file):






Start-處理用戶的輸入


#2、定義用戶輸入的函數(shù),用戶輸入n/N,就停止這個(gè)程序,輸入路徑就調(diào)用list函數(shù),統(tǒng)計(jì)目錄及文件
def start():
    isNext=1 #定義一個(gè)是否繼續(xù)讓用戶輸入path的變量
    while isNext==1:#isNext==1,就繼續(xù)循環(huán)這個(gè)輸入、處理的過程
        path = raw_input("enter path (d:\\\),stop enter n/N: ")#raw_input讓用戶輸入,并獲取輸入內(nèi)容
        if path=='n' or path=='N':#如果用戶輸入的死n/N,isNext賦值0,執(zhí)行完就不在執(zhí)行了
            isNext=0
        else:
            list(path)#反之,調(diào)用list(path)函數(shù),將path交給list處理


#1、開始執(zhí)行這個(gè)文件時(shí),先從start作為main函數(shù)開始執(zhí)行
if __name__=='__main__':
    start()




 List-羅列pATH下的目錄及文件


 #3、羅列path下有哪些目錄及文件
def list(path):
   dirs={}#定義個(gè)存放目錄的字典


   #羅列出path下所有的一級(jí)目錄及文件
   for dp in os.listdir(path):
      #3.1、判斷dp是否是目錄
      if os.path.isdir(os.path.join(path,dp)):
         dir_size=0#臨時(shí)存儲(chǔ)目錄大小
         #os.walk遍歷目錄,取得所有文件
         for root,dir,files in os.walk(os.path.join(path,dp)):
            for name in files:#每個(gè)目錄下的文件清單
               try:
                        #累加文件夾下每個(gè)文件大小
                  dir_size +=getsize(os.path.join(root,name))
               except Exception, e:
                  pass
         dirs[dp]=dir_size#添加目錄及大小


      #3.2、文件處理
      elif os.path.isfile(os.path.join(path,dp)):
         try:
                #計(jì)算文件大小,并加入到dir字典中
            dirs[dp]=getsize(os.path.join(path,dp))
         except Exception, e:
            pass
   #對(duì)目錄或文件大小排序
   ds=sorted(dirs.iteritems(),key=lambda d:d[1],reverse=True)
   #輸出目錄大小
   for x in ds:
      d = x[0]
      size=x[1]
      size2=''
      if size>=1073741824:
         size2=str(size/1024/1024/1024)+' G'
      elif size>=106496 and size<=1073741824:
         size2=str(size/1024/1024)+' M'
      elif size<106496:
         size2=str(size/1024/1024)+' Byte'
      print '%-50s %50s'%(d,size2)


List-用到的os函數(shù)

使用下面函數(shù)前先導(dǎo)入os模塊
Import os
1、List-羅列pATH下的目錄及文件

os.listdir(path)

2、判斷是否是目錄
os.path.isdir()


3、判斷是否文件
os.path.isfile()

4、遍歷目錄下所有文件
os.walk(path)

5、獲取文件大小
os.path.getsize(file)


所有代碼


#__author__ = 'luchengjin'
# -*- coding: utf-8 -*-
import os
def getsize(file):
   return os.path.getsize(file)
#3、羅列path下有哪些目錄及文件
def list(path):
   dirs={}#定義個(gè)存放目錄的字典
   #羅列出path下所有的一級(jí)目錄及文件
   for dp in os.listdir(path):
      #3.1、判斷dp是否是目錄
      if os.path.isdir(os.path.join(path,dp)):
         dir_size=0#臨時(shí)存儲(chǔ)目錄大小
         #os.walk遍歷目錄,取得所有文件
         for root,dir,files in os.walk(os.path.join(path,dp)):
            for name in files:#每個(gè)目錄下的文件清單
               try:
                        #累加文件夾下每個(gè)文件大小
                  dir_size +=getsize(os.path.join(root,name))
               except Exception, e:
                  pass
         dirs[dp]=dir_size#添加目錄及大小


      #3.2、文件處理
      elif os.path.isfile(os.path.join(path,dp)):
         try:
                #計(jì)算文件大小,并加入到dir字典中
            dirs[dp]=getsize(os.path.join(path,dp))
         except Exception, e:
            pass
   #對(duì)目錄或文件大小排序
   ds=sorted(dirs.iteritems(),key=lambda d:d[1],reverse=True)
   #輸出目錄大小
   for x in ds:
      d = x[0]
      size=x[1]
      size2=''
      if size>=1073741824:
         size2=str(size/1024/1024/1024)+' G'
      elif size>=106496 and size<=1073741824:
         size2=str(size/1024/1024)+' M'
      elif size<106496:
         size2=str(size/1024/1024)+' Byte'
      print '%-50s %50s'%(d,size2)
#2、定義用戶輸入的函數(shù),用戶輸入n/N,就停止這個(gè)程序,輸入路徑就調(diào)用list函數(shù),統(tǒng)計(jì)目錄及文件
def start():
    isNext=1 #定義一個(gè)是否繼續(xù)讓用戶輸入path的變量
    while isNext==1:#isNext==1,就繼續(xù)循環(huán)這個(gè)輸入、處理的過程
        path = raw_input("enter path (d:\\\),stop enter n/N: ")#raw_input讓用戶輸入,并獲取輸入內(nèi)容
        if path=='n' or path=='N':#如果用戶輸入的死n/N,isNext賦值0,執(zhí)行完就不在執(zhí)行了
            isNext=0
        else:
            list(path)#反之,調(diào)用list(path)函數(shù),將path交給list處理
#1、開始執(zhí)行這個(gè)文件時(shí),先從start作為main函數(shù)開始執(zhí)行
if __name__=='__main__':
    start()

怎么運(yùn)行
1、windows下:
下載一個(gè)python.exe文件,將代碼和pyhon.exe放入同一個(gè)目錄
執(zhí)行
python.exe du.py

2、linux下執(zhí)行
du.py

關(guān)于windwos下如何實(shí)現(xiàn)du命令就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

當(dāng)前標(biāo)題:windwos下如何實(shí)現(xiàn)du命令-創(chuàng)新互聯(lián)
本文地址:http://jinyejixie.com/article40/dpcjeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、品牌網(wǎng)站建設(shè)網(wǎng)頁設(shè)計(jì)公司、企業(yè)網(wǎng)站制作、商城網(wǎng)站服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
北辰区| 合作市| 遂溪县| 大名县| 罗定市| 松滋市| 西和县| 四子王旗| 惠州市| 渝中区| 固阳县| 宿州市| 房山区| 巧家县| 四川省| 海林市| 东台市| 宁武县| 九龙县| 上犹县| 正阳县| 南溪县| 永和县| 固始县| 乐山市| 普陀区| 北海市| 南雄市| 伽师县| 灵台县| 平罗县| 西和县| 稻城县| 新乐市| 依兰县| 丰台区| 那曲县| 蕉岭县| 樟树市| 万山特区| 大庆市|