python 獲取指定目錄下各目錄占用的空間大小

2021-10-18 06:58:05 字數 2974 閱讀 3677

語言:python3

功能:獲取指定目錄下各目錄占用的空間大小

// 獲取指定目錄下各目錄占用的空間

# -*

- coding: utf-8-

*-import os,time,platform,sys

from threading import thread

path,file=

'./',1

sys0=platform.

system()

if sys0==

"linux"

: a=

1elif sys0 ==

"windows"

: a=

2else

: a=

0print

("系統不是windows或linux"

)忽略目錄=

["opt"

]global end,log1ist

end,log1ist=1,

def write()

: global end, log1ist

while end:

time.

sleep(1

) m=

len(log1ist)

if m:

with

open

(filepath,

'a+'

,encoding=

'utf-8'

)as f :

for i in

range

(m):

f.write

("\n"

.join

(log1ist[0]

)+"\n"

) del log1ist[0]

def filesize

(num)

: #根據空間位元組數計算返回兩位小數、單位合適的空間大小描述

list0=[""

]+[i for i in

"kmgt"

]for i in

range

(len

(list0)):

if num>

1024**(

len(list0)

-i):

a=str(num/

float

(1024**(

len(list0)

-i))

)return a[

:a.find

(".")+

3]+list0[

len(list0)

-i]+

"b"def getwin

(path0)

: li=

for p1 in os.

listdir

(path0)

: path1 = os.path.

join

(path0, p1)

if os.path.

isdir

(path1)

: li=li+

getwin

(path1)

try:

command=

'dir "'

+ path0 +

'" /-c'

a = os.

popen

(command)

b = a.

readlines()

li.(filesize

(int

(b[-2]

.split

(" ")[

-2])

)+" "

+os.path.

abspath

(path0)

) except:

li.("0 "

+os.path.

abspath

(path0)

)return li

if a:

thread

(target=write, args=()

).start()

while1:

filepath=os.path.

join

(path,

str(file)

+".log"

)if os.path.

isfile

(filepath)

: file+=

1else

:break

pathlist=

[os.path.

join

('./'

, i)

+os.altsep for i in os.

listdir

(path)

if i not in 忽略目錄]

for path0 in pathlist:

l1=if a==1:

val = os.

popen

("du -h '"

+path0+

"'")

l1=val.

readlines()

if a==2:

if os.path.

isdir

(path0)

: l1=

getwin

(path0)

iflen

(l1)

:print

(path0,

len(l1)

,l1)

log1ist.

([i for i in l1 if i[0]

!='0'])

end =

0print

("日誌檔案"

,os.path.

abspath

(filepath)

)

python獲取指定目錄下的所有指定字尾的檔名

我想拿到test 目錄下所有的.log檔案。注意 只能單個檔案,不能連帶目錄 os.path.splitext 分離檔名與副檔名 如下 coding utf 8 import os def getfilename path 獲取指定目錄下的所有指定字尾的檔名 f list os.listdir pa...

Scala 獲取指定目錄下的所有檔案

最近在學習scala,想要獲取指定目錄下的所有檔名,但是scala 中有沒有相應的庫函式,由於本人是新手,所以弄了半天,好不容易才將網上的一段scala 遞迴獲取指定目錄下所有目錄的 改成獲取檔名,特在此備忘,也希望高手指點。下面是一段遞迴獲取目錄名稱的 def subdirs2 dir file ...

Linux根目錄下各目錄功能

bin 存入普通使用者可以使用的命令檔案.目錄 usr bin 也可用來貯存使用者命令。sbin 一般存放非普通使用者使用的命令 有時隔不久普通使用者也可能會用到 目錄 usr sbin中也包括了許多系統命令。etc 系統的配置檔案。sys 檔案系統訪問 linux核心 selinux selinu...