题目:
写一个命令行工具可以计算文件和目录大小,输入文件路径中带-d是计算目录大小,带-f 是计算文件大小
导入模块
import os
import argparse
获取目录大小
def get_dir_size(path):
foldSize = 0
if os.path.isdir(path):
for curDir, subDir, files in os.walk(path)://用walk方法比较快
for file in files:
file_path = os.path.join(curDir, file)
foldSize += os.path.getsize(file_path)//递归
print("Folder size: %.1f" % foldSize)
else:
print("Invalid directory")
获取文件大小
def get_file_size(path):
if os.path.isfile(path):
fileSzie = os.path.getsize(path)
print("File Size: %.1f" % fileSzie)
else:
print("Invalid file path")
主函数
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('-d', '--directory', default=,type=str,help='Directory need to be calculate')
parser.add_argument('-f', '--file', help='File need to be calculate')
args = parser.parse_args()
if args.directory:
get_dir_size(args.directory)
if args.file:
get_file_size(args.file)
新人小白,个人学习笔记而已。大神勿喷