2019/10/28 02-ls命令实现2

在这里插入图片描述
其实mode可以用字典算,kv对,虽然笨但是hash算的时候,用空间算时间,因为在标准库也是查表,把9个都给你写出来在这里插入图片描述
硬链接数其实是有的
在这里插入图片描述
这些都直接有现成的在这里插入图片描述
需要修改下时间格式
在这里插入图片描述在这里插入图片描述
有时间戳没有时间对象,典型的调类型方法,fromtimestamp,(到这里还差的比较远,可以用格式化的方式,比如字符串的format,还可以c风格
还可以用时间对象的方法(strptime,strftime,一个是解析,一个是格式化

在这里插入图片描述
是date对象的
在这里插入图片描述
时间对象是要反复练习的东西在这里插入图片描述
现在还有一个文件的大小。现在是4096怎么转换成4k,需要写一个函数gethuman
给一个数值告诉多少兆

在这里插入图片描述
第一次4096/1000
4不大于1000就是配单位的事情了

在这里插入图片描述
现在就缺这个东西了
在这里插入图片描述在这里插入图片描述
还可以再换成一种写法,这样字符串就比列表小很多,如果嫌弃空格,可以后面用rstrip把空格去掉
在这里插入图片描述
剪切到上面去
在这里插入图片描述
黏贴
在这里插入图片描述
这个函数该什么时候去用
如果需要人性化显示就用它,否则直接打印st.size(整型),所以需要转成str
在这里插入图片描述
直接-h是没用的,要lh才有用
在这里插入图片描述在这里插入图片描述
这里先false,不然两个h就冲突了在这里插入图片描述
现在添加选项参数
在这里插入图片描述在这里插入图片描述
执行一遍
在这里插入图片描述
还有一个要解决的是它
在这里插入图片描述、all选项默认是false,默认是不允许看到点开头的,就需要在遍历的时候,判断,因为你不遍历怎么知道有没有带点.的
就是类似写成这样,但是需要和all做关联
在这里插入图片描述
在不能不显示所有的情况下,同时用.开头,需要用and,这样就看不到。abc了
在这里插入图片描述在这里插入图片描述
这样基本达到我们要实现的东西
在这里插入图片描述
要给路径了
在这里插入图片描述加_下划线,代表我们还可以再封装一次在这里插入图片描述
从这开始往上在这里插入图片描述
到这里在这里插入图片描述
tab一下,外面套一层iterdir()在这里插入图片描述
这个地方的参数就是外面想要的参数
在这里插入图片描述
把这个参数放到外层去,它交互参数,根据里面的来得到想要的东西

在这里插入图片描述
修改下名字
在这里插入图片描述
这些全部剪切在这里插入图片描述在这里插入图片描述
这上面就变成了一个整个的函数定义
在这里插入图片描述
把刚才剪切的放到下面,向右缩进
在这里插入图片描述
整个相当于再找个模块运行,主模块才接收参数,不是主模块就没必要接收参数在这里插入图片描述在这里插入图片描述
传一下参数 o:/ -lah
在这里插入图片描述
考虑函数返回什么 在这里插入图片描述
把上面的参数加进去执行就打印出来了
在这里插入图片描述
但是函数不是应该来打印的,而是扔出一个东西,具体值
result
在这里插入图片描述
现在看不出来,加逗号现在这样写是有好处的
在这里插入图片描述
是否需要排序在这里插入图片描述在这里插入图片描述
能不能按照name排序,一个目录下有多少文件是有限个,listdir找个函数是个生成器,加了yield,目录下有多少文件是一定的,
这就是为什么用元组进行封装了

在这里插入图片描述
这个是返回一个列表,大不了这样在这里插入图片描述
告诉是返回一个可迭代对象,外面套一层list就可以,现在是惰性求值,用for循环一个个迭代即可
立即求值就可以用list直接求出来即可

在这里插入图片描述
直接拿到所有的值
在这里插入图片描述
列表里是一个个元组,把列表里的元组一个个格式化输出,加个map就可以搞定了
这里就使用了生成器

在这里插入图片描述
yield from相当于一个for循环,for循环里面写了yield在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
还有一些小问题
在这里插入图片描述在这里插入图片描述
一切从这开始,一点点测试
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
传一个可迭代对象
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
nargs表示后面能接几个参数
在这里插入图片描述在这里插入图片描述
但是选项不是参数,就有了store_true和false在这里插入图片描述
const代表没有给值就填一个选项进来
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
参数搞定了就可以 写业务代码了在这里插入图片描述在这里插入图片描述
从显示本文件夹开始在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
函数合一就可以弄成参数的样子在这里插入图片描述在这里插入图片描述
构造元组就有使用索引-1了
在这里插入图片描述
len-1就等于-1
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
只要不是windows都可以运行这两个,windows不支持在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
3.2提供了解析参数的,还是比较方便的argparse

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值