草庐IT

全人类

全部标签

linux - 人类可读格式的文件大小

鉴于文件的大小(以字节为单位),我想将其格式化为IEC(binary)prefixes到3significantfigures尾随零,例如1883954变成1.80M。bash不支持浮点运算,所以我改用awk。问题是我不知道如何保留尾随零。当前解决方案:if[$size-ge1048576]thensize=$(awk'BEGIN{printf"%.3g",'$size'/1048576}')Melif[$size-ge1024]thensize=$(awk'BEGIN{printf"%.3g",'$size'/1024}')Kfi(文件没有那么大,所以我不必考虑更大的单位。)编辑:这

python - 获取文件大小的人类可读版本?

从字节大小返回人类可读大小的函数:>>>human_readable(2048)'2kilobytes'>>>如何做到这一点? 最佳答案 通过简单的实现(使用f-strings,因此Python3.6+)解决上述“任务太小,不需要库”问题:defsizeof_fmt(num,suffix="B"):forunitin["","Ki","Mi","Gi","Ti","Pi","Ei","Zi"]:ifabs(num)支持:所有当前已知的binaryprefixes负数和正数大于1000Yobibytes的数字任意单位(也许您喜欢以Gi

php - 将机器人与人类访客区分开来获取统计信息?

我希望推出自己的简单网络统计脚本。据我所知,路上唯一的主要障碍是将人类访客与机器人区分开来。我想要一个不需要定期维护的解决方案(即我不想使用与机器人相关的用户代理更新文本文件)。有没有像Akismet那样处理垃圾邮件的开放服务?或者有没有专门用于识别蜘蛛和机器人并提供频繁更新的PHP项目?澄清一下:我不想阻止机器人。我不需要100%无懈可击的结果。我只是想从我的统计数据中排除尽可能多的数据。在知道解析user-Agent是一个选项,但保持模式解析是很多工作。我的问题是有没有这样做的项目或服务已经。Bounty:IthoughtI'dpushthisasareferencequestio

php - 如何以人类可读的格式输出(到日志)多级数组?

我正在开发一个drupal站点,在调试时,我总是需要通读长的嵌套数组。因此,我一生中的大部分时间都花在使用箭头键、回车键和制表键上,将1000多个字符串拆分为嵌套的可读格式。对于drupal开发人员,我不能使用devel的dsm(),因为我正在使用多步#ahah/#ajax表单,并且我只能将数组输出到错误日志,而不是屏幕。视觉示例:邪恶:array('form_wrapper'=>array('#tree'=>true,'#type'=>'fieldset','#prefix'=>'','#suffix'=>'','#value'=>'','name'=>array('#type'=>

formatting - htop 输出到人类可读文件

我尝试将htop传送到文本文件(例如htop>text.txt),但它让我的文本因格式化字符串而出现乱码(见下文)。有没有办法获得更好的、人类可读的输出?^[7^[[?47h^[[1;30r^[[m^[[4l^[[?1h^[=^[[m^[[?1000h^[[m^[[m^[[H^[[2J^[[1B^[[36m1^[[m^[[1m[^[[m^[[32m||||||||||^[[31m||||||||||^[[30m^[[1m\22.2%^[[m]^[[m^[[36mTasks:^[[1m159^[[m^[[36mtotal,^[[32m^[[1m5^[[m^[[36mrunning^[[3

python - 使用 Python 减去两个 UNIX 时间戳时,如何产生人类可读的差异?

这个问题类似tothisquestionaboutsubtractingdateswithPython,但不完全相同。我不是在处理字符串,我必须找出两个纪元时间戳之间的差异,并以人类可读的格式产生差异。例如:32Seconds17Minutes22.3Hours1.25Days3.5Weeks2Months4.25Years或者,我想这样表达差异:4years,6months,3weeks,4days,6hours21minutesand15seconds我认为我不能使用strptime,因为我正在处理两个纪元日期的差异。我可以写一些东西来做到这一点,但我很确定已经写了一些我可以使用的

ruby-on-rails - 以人类可读的格式显示持续时间,例如 "X hours, Y minutes"

我正在使用Rails4、Ruby2.1和PostgreSQL。我有一个名为duration的数据库字段,它是一种间隔数据类型。提取该列数据时,返回格式为hh:mm:ss,例如01:30:00。我正在尝试找出一种方法将其显示为1小时30分钟。其他例子:02:00:00到2小时02:15:00到2小时15分钟02:01:00到2小时1分钟 最佳答案 只需使用duration+inspectseconds=86400+3600+15ActiveSupport::Duration.build(seconds).inspect=>"1day,

Ruby DateTime 人类时区输出

我正在尝试输出ruby​​DateTime对象的时区:DateTime.parse('2012/05/23').strftime('%Z')这会输出"+00:00"。根据文档,它应该返回GMT。我是做错了什么,还是发现了一个错误? 最佳答案 DateTime类似乎不支持区域数据作为区域名称。Time类却正确地做到了这一点。所以要么这样做:require'date'require'time'Time.parse('...').strftime('%Z')或者,如果您已经拥有DateTime格式的数据,那么:Time.parse(Dat

json - 人类如何阅读 json winston 日志文件?

对于API、脚本和其他方面来说似乎不错。但是使用文本编辑器读取winstonjson堆栈跟踪非常困难。例如{"level":"info","message":"starting","timestamp":"2014-05-14T15:45:44.334Z"}{"date":"WedMay14201408:45:45GMT-0700(PacificDaylightTime)","process":{"pid":8804,"uid":null,"gid":null,"cwd":"C:\\data\\mytool","execPath":"C:\\ProgramFiles\\nodejs\\

json - 人类如何阅读 json winston 日志文件?

对于API、脚本和其他方面来说似乎不错。但是使用文本编辑器读取winstonjson堆栈跟踪非常困难。例如{"level":"info","message":"starting","timestamp":"2014-05-14T15:45:44.334Z"}{"date":"WedMay14201408:45:45GMT-0700(PacificDaylightTime)","process":{"pid":8804,"uid":null,"gid":null,"cwd":"C:\\data\\mytool","execPath":"C:\\ProgramFiles\\nodejs\\