語言: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...