实现代码如下:

说明:现在代码已实现du命令的 -s 统计功能,统计与系统du命令稍有差别,比如用ls -ld /root结果为4096,而du计算出来是1040,用当前python计算出来也是4096。另外暂时还没有实现类似于自动根据大小显示为人性化的单位,后续补上
#!/usr/bin/python
#*-*coding:utf8*-*
import sys
import os
from optparse import OptionParser
#使用选项帮助信息可以使用中文
reload(sys)
sys.setdefaultencoding("utf-8")
#定义选项和帮助信息
usage = sys.argv[0] + " [选项]... [对象]..."
parser = OptionParser(usage)
parser.add_option("-s",
dest="sum",
action="store_true",
default=False,
help="统计指定对象的的大小总和")
parser.add_option("-a",
dest="autoDisplay",
action="store_true",
default=False,
help="根据大小自动显示 k,KB,MB,GB 等单位")
options, args = parser.parse_args()
#判断文件或目录是否存在
def noFile(i):
if not os.path.exists(i):
sys.stderr.write(i + "\tis not exists\n")
exit(1)
sum = 0
for i in args:
noFile(i)
if os.path.isfile(i):
size = os.path.getsize(i)
sum += size
print("%d\t%s" %(size, i))
if os.path.isdir(i):
dir = os.walk(i)
for x, y, z in dir:
size = os.path.getsize(x) #对目录本身进行大小统计,和du统计结果有点不太一样
sum += size
if options.sum:
pass
else:
print("%d\t%s" %(size, x))
for f in z:
size = os.path.getsize(os.path.join(x, f)) #对目录里面文件进行大小统计
sum += size
if options.sum:
pass
else:
print("%d\t%s" %(size, os.path.join(x, f)))
"""如果加上-s选项,这里就输入总的大小"""
if options.sum:
print("%d\t%s" %(sum, i))
程序执行结果如下:
以上所述是小编给大家介绍的Python实现Linux中的du命令,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# linux中du命令
# python
# linux
# du
# 命令
# linux下使用 du查看某个文件或目录占用磁盘空间的大小方法
# 一天一个shell命令 linux好管家-磁盘-du命令详解
# Linux du命令查看文件夹大小并按降序排列
# Linux tcpdump命令的用法详细解析
# linux下改良版本mysqldump来备份MYSQL数据库
# 小编
# 还没有
# 在此
# 不太
# 给大家
# 可以使用
# 类似于
# 稍有
# 所述
# 给我留言
# 补上
# 感谢大家
# 是否存在
# 如用
# 疑问请
# 有任何
# sys
# import
# optparse
# OptionParser
相关文章:
如何通过二级域名建站提升品牌影响力?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
如何在VPS电脑上快速搭建网站?
建站之星安装失败:服务器环境不兼容?
如何确认建站备案号应放置的具体位置?
如何快速查询网站的真实建站时间?
香港网站服务器数量如何影响SEO优化效果?
如何在万网开始建站?分步指南解析
如何在七牛云存储上搭建网站并设置自定义域名?
如何在新浪SAE免费搭建个人博客?
如何高效利用亚马逊云主机搭建企业网站?
如何获取免费开源的自助建站系统源码?
杭州银行网站设计制作流程,杭州银行怎么开通认证方式?
SQL查询语句优化的实用方法总结
建站之星收费标准详解:套餐费用及年费价格表一览
建站主机核心功能解析:服务器选择与网站搭建流程指南
如何选择网络建站服务器?高效建站必看指南
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
教程网站设计制作软件,怎么创建自己的一个网站?
江苏网站制作公司有哪些,江苏书法考级官方网站?
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
如何通过商城免费建站系统源码自定义网站主题?
建站之星如何保障用户数据免受黑客入侵?
建站VPS能否同时实现高效与安全翻墙?
宝塔新建站点报错如何解决?
网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?
红河网站制作公司,红河事业单位身份证如何上传?
免费视频制作网站,更新又快又好的免费电影网站?
建站之星2.7模板快速切换与批量管理功能操作指南
如何在宝塔面板创建新站点?
网站制作新手教程,新手建设一个网站需要注意些什么?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
css网站制作参考文献有哪些,易聊怎么注册?
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
如何在阿里云通过域名搭建网站?
建站主机系统SEO优化与智能配置核心关键词操作指南
如何用AWS免费套餐快速搭建高效网站?
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
如何彻底卸载建站之星软件?
建站之星后台密码遗忘?如何快速找回?
建站之星代理商如何保障技术支持与售后服务?
建站之星如何一键生成手机站?
如何快速配置高效服务器建站软件?
建站之星好吗?新手能否轻松上手建站?
h5网站制作工具有哪些,h5页面制作工具有哪些?
企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?
*请认真填写需求信息,我们会在24小时内与您取得联系。