python练习-(秒转时分秒,时分秒转秒)-对比linux中文件的上次更改时间跟当前时间相差多久。

具体代码如下>

import  paramiko,re,datetime,time
ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())               #允许连接不在hosts文件中的主机
ssh.connect(hostname="10.124.198.75",port=8122,username="admin",password=‘De@2019eR‘)
stdin,stdout,stderr=ssh.exec_command("stat  /etc/passwd | grep Change")
stdin_sys,stdout_sys,stderr_sys=ssh.exec_command("date +%s")
change_time=re.search(‘Change: (.+)\\.‘,stdout.read().decode(‘utf-8‘)).group(1)
time1=datetime.datetime.strptime(change_time,"%Y-%m-%d %H:%M:%S")
change_time_new=str(time.mktime(time1.timetuple())).strip(‘.0‘)
sys_time=stdout_sys.read().decode(‘utf-8‘).strip()
time_stay=int(sys_time) - int(change_time_new)
print("距离上次更改:",datetime.timedelta(seconds=time_stay))

详解>

import paramiko,re,datetime,time

#连接linux服务器

ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #允许连接不在hosts文件中的主机
ssh.connect(hostname="10.124.198.75",port=8122,username="admin",password=‘De@2019eR‘)

#执行命令,获取到当前的系统时间(秒),和对应文件的修改时间。

#命令执行完后,会存储在stdout里面。
stdin,stdout,stderr=ssh.exec_command("stat /etc/passwd | grep Change")
stdin_sys,stdout_sys,stderr_sys=ssh.exec_command("date +%s")

#读取stdout中的内容,并进行正则匹配,得到想要文件更改时间,并存储到变量中,格式如:(2019-01-23 16:44:15)

change_time=re.search(‘Change: (.+)\\.‘,stdout.read().decode(‘utf-8‘)).group(1)

#将时间转换为秒,,"%Y-%m-%d %H:%M:%S" 此处的定义根据我们时间的格式进行更改
time1=datetime.datetime.strptime(change_time,"%Y-%m-%d %H:%M:%S")
change_time_new=str(time.mktime(time1.timetuple())).strip(‘.0‘)

#获取系统当前时间,并将当前时间减去上次修改的时间(秒 - 秒)
sys_time=stdout_sys.read().decode(‘utf-8‘).strip()
time_stay=int(sys_time) - int(change_time_new)

#秒转换为可识别的时间(距离上次更改: 41 days, 21:30:03)

print("距离上次更改:",datetime.timedelta(seconds=time_stay))

#执行测试

距离上次更改,41天22小时3分钟41秒

原文地址:https://www.cnblogs.com/xiaodai12138/p/10482959.html

时间: 2024-08-01 13:25:59

python练习-(秒转时分秒,时分秒转秒)-对比linux中文件的上次更改时间跟当前时间相差多久。的相关文章

Linux中使用 FTP 命令时出现 “-bash: ftp: command not found”

Linux下登陆 Linux中使用 FTP 命令时出现“-bash: ftp: command not found” Linux中测试搭建 FTP 服务器,刚安装完 vsftpd 测试登录时就提示“-bash: ftp: command not found”,说明需要安装FTP客户端.安装此ftp-0.17-51.1.el6.x86_64.rpm包即可访问.FTP客户端安装配置下载FTP-0.17-51.1.el6.x86_64.rpm, 下载地址有:http://rpm.pbone.net/i

PHP函数gmstrftime()将秒数转换成天时分秒

http://yangjunwei.com/a/930.html PHP函数gmstrftime()将秒数转换成天时分秒 一个应用场景需要用到倒计时的时分秒,比如新浪微博授权有效期剩余: 7天16小时47分钟42秒…… 在PHP环境下,PHP函数 gmstrftime() 可实现将秒数转换成时分秒的转换,先看例子: define("BJTIMESTAMP" , time()); //服务器当前时间 $expires_in = '1439577160';//到期时间 $expires =

PHP 将秒数转换成时分秒

将秒数转换成时分秒,PHP提供了一个函数gmstrftime,不过该函数仅限于24小时内的秒数转换.对于超过24小时的秒数,我们应该怎么让其显示出来呢,例如 34:02:02 $seconds = 3600*34+122; function changeTimeType($seconds){ if ($seconds>3600){ $hours = intval($seconds/3600); $time = $hours.":".gmstrftime('%M:%S', $sec

Why Python's Integer Division Floors ---- python int(6/-132)时答案不一致,向下取整

leetcode150题中有一个步骤: int(6/-132) == 0 or ==-1? 在自己本地python3环境跑是int(6/-132) =0,但是提交的时候确实-1. 查找相关资料解惑: Why Python's Integer Division Floors为何Python整除运算采用向下取整的规则 今天(又)有人问我,为什么Python中的整除(integer division)返回值向下取整(floor)而不是像C语言中那样向0取整. 在正整数范围内,两者并无实质差别,例如:

Python,ElementTree模块处理XML时注释无法读取和保存的问题

from xml.etree import ElementTree class CommentedTreeBuilder ( ElementTree.XMLTreeBuilder ): def __init__ ( self, html = 0, target = None ): ElementTree.XMLTreeBuilder.__init__( self, html, target ) self._parser.CommentHandler = self.handle_comment d

云计算之路-阿里云上:读取缓存时的“黑色0.1秒”

看到标题中的"0.1秒",你也许会呲之以鼻:不会吧,0.1秒也要计较,不是吃饱撑着,是没吃饱也撑着. 依然没撑着!在memcached应用场景中,响应速度是处于1ms级别的,0.1s可是比1ms慢了100倍啊. 如果你不相信1ms级别,请看这篇文章(微博CacheService架构浅析)中的一段话: 目前微博平台部分业务子系统的Cache服务已经迁移到了CacheService之上,它在实际的运行过程中也取得了良好的性能表现,目前整个集群在线上每天支撑着超过300W的QPS,平均响应耗

python基础:re模块匹配时贪婪和非贪婪模式

python贪婪和非贪婪 正则表达式通常用于在文本中查找匹配的字符串.Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符:非贪婪则相反,总是尝试匹配尽可能少的字符.在"*","?","+","{m,n}"后面加上?,使贪婪变成非贪婪. >>> s="This is a number 234-235-22-423" >>> r=r

Java 获取各时区时间,获取当前时间到格林威治时间1970年01月01日00时00分00秒的秒数

格林威治时间即UTC/GMT时间,1970年01月01日00时00分00秒(即UTC+8的北京时间1970年01月01日08时00分00秒)计算代码如下: 1 /** 2 * 获取指定时间到格林威治时间的秒数 3 * UTC:格林威治时间1970年01月01日00时00分00秒(UTC+8北京时间1970年01月01日08时00分00秒) 4 * @param time 5 * @return 6 */ 7 public static long diffSeconds(String time){

【爬坑】Python 3.6 在 Socket 编程时出现类型错误 TypeError: a bytes-like object is required, not 'str'

1. 问题描述 Python 3.6 在 Socket 编程时出现错误如下 Traceback (most recent call last): File "F:/share/IdeaProjects/test/mypython/test/test10_tcpclient.py", line 17, in <module> sock.send(str) TypeError: a bytes-like object is required, not 'str' Process