统一使用pathlib处理路径

This commit is contained in:
halliday 2023-11-20 22:46:22 +08:00
parent fc029d5b55
commit 92c3f4d50b
1 changed files with 18 additions and 21 deletions

View File

@ -2,7 +2,6 @@
import _load import _load
import psutil import psutil
import smtplib import smtplib
import os
import argparse import argparse
import yaml import yaml
@ -78,7 +77,7 @@ def get_disk_info():
# 磁盘总空间单位G # 磁盘总空间单位G
total_disk_size = disk_info.total//1024//1024//1024 total_disk_size = disk_info.total//1024//1024//1024
# 当前磁盘使用率、剩余空间G和磁盘总空间信息 # 当前磁盘使用率、剩余空间G和磁盘总空间信息
info = " {0}盘使用率:{1}% 剩余空间:{2}G 总大小:{3}G".format(disk_name, str(disk_info.percent),free_disk_size,total_disk_size) info = "\t{0}盘使用率:{1}% 剩余空间:{2}G 总大小:{3}G".format(disk_name, str(disk_info.percent),free_disk_size,total_disk_size)
# print(info) # print(info)
# 拼接多个磁盘的信息 # 拼接多个磁盘的信息
content.append(info) content.append(info)
@ -86,26 +85,23 @@ def get_disk_info():
save_txt(content) save_txt(content)
# 获取某个目录的大小 # 获取某个目录的大小
dir_content=[] def get_dir_size(path):
def get_dir_size(path):
list1 = [] list1 = []
fileList = os.listdir(path) # 获取path目录下所有文件 for item in path.iterdir():
for filename in fileList: if item.is_file():
pathTmp = os.path.join(path,filename) # 获取path与filename组合后的路径 file_size = file_path.stat().st_size
if os.path.isdir(pathTmp): # 判断是否为目录 list1.append(file_size)
print("---------------") str_tex=f"\t{item}的大小是{file_size}字节"
dir_content.append(" ---------------")
get_dir_size(pathTmp) # 是目录就继续递归查找
elif os.path.isfile(pathTmp): # 判断是否为文件
filesize = os.path.getsize(pathTmp) # 如果是文件,则获取相应文件的大小
str_tex = ' {0}文件的大小为:{1}字节'.format(pathTmp,filesize)
print(str_tex) print(str_tex)
dir_content.append(str_tex) save_txt([str_tex])
list1.append(filesize) # 将文件的大小添加到列表 elif item.is_dir():
str_dir_tex = ' {0} 目录的大小为: {1:.4f} MB'.format(path, (sum(list1)/1024/1024)) #print(f"目录: {item}")
print(str_dir_tex) save_txt(['\t--------------'])
dir_content.append(str_dir_tex) get_dir_size(item)
str_dir_tex = '\t{0} 的大小为: {1:.4f} MB'.format(path, (sum(list1)/1024/1024))
print(str_dir_tex)
save_txt([str_dir_tex])
# cpu信息 # cpu信息
@ -161,9 +157,10 @@ def main():
get_cpu_info() get_cpu_info()
get_memory_info() get_memory_info()
path = "D:\\agent\\ubackup\\uagent\\logs" path = "D:\\agent\\ubackup\\uagent\\logs"
get_dir_size(path) directory_path = Path(path)
save_txt(["{0}目录大小:".format(path)]) save_txt(["{0}目录大小:".format(path)])
save_txt(dir_content) get_dir_size(directory_path)
save_txt(['----------------------END----------------------------']) save_txt(['----------------------END----------------------------'])