python中的时间、difflib、sys模块以及第三方模块

1.时间模块

import os
import time

s = '2019-7-14'
print(time.strptime(s,'%Y-%m-%d'))
s_time = '09:00:00'
print(time.strptime(s_time,'%H:%M:%S'))

在这里插入图片描述

把元组的时间转换为时间戳

import os
import time
tuple_time = time.localtime()
print(tuple_time)
print(time.mktime(tuple_time))

在这里插入图片描述
把元组时间转换为字符串时间

import os
import time

tuple_time = time.localtime()
print(time.strftime('%m-%d',tuple_time))
print(time.strftime('%Y-%m-%d',tuple_time))
print(time.strftime('%F',tuple_time))
print(time.strftime('%T',tuple_time))

在这里插入图片描述

把时间戳类型转换为字符串时间

import os
import time

pwd_time = os.path.getctime('/etc/passwd')
print('pwd_time',pwd_time)
print(time.ctime(pwd_time))

在这里插入图片描述
将时间戳转换为元组

import os
import time

pwd_time = os.path.getctime('/etc/passwd')
print(time.localtime(pwd_time))

在这里插入图片描述
元组转换为时间戳

import os
import time

tuple_time = time.localtime()
print(time.mktime(tuple_time))

在这里插入图片描述
datetime

import os
from datetime import date
from datetime import datetime
from datetime import timedelta

print(date.today())
print(datetime.now())

在这里插入图片描述
计算几天前的时间

# d = date.today()
# delta = timedelta(days=3)
# print(d + delta)
# print(d - delta)

在这里插入图片描述
计算几个小时前或后的时间

import os
from datetime import date
from datetime import datetime
from datetime import timedelta

now_time = datetime.now()
print(now_time)
pwd_time = os.path.getmtime('/etc/passwd')
print(pwd_time)
pwd_time_obj = datetime.fromtimestamp(pwd_time)
print(pwd_time_obj)
delta = now_time - pwd_time_obj
print(delta)

在这里插入图片描述

练习:
需求:
1.获取当前主机信息(操作系统名、主机名、内核版本、硬件架构)
2.获取开机时间和开机时长
3.获取当前登录用户

import os
import psutil
from datetime import datetime

print('主机信息'.center(50,'*'))
info = os.uname()
# print(info)
print(
    """
    操作系统:%s
    主机名称:%s
    内核版本:%s
    硬件架构:%s
    """ %(info.sysname,info.nodename,info.release,info.machine)
)

print('开机信息'.center(50,'*'))
boot_time = psutil.boot_time()  #返回一个时间戳
boot_time_obj = datetime.fromtimestamp(boot_time)
# print(boot_time_obj)
#当前时间
now_time = datetime.now()

delta_time = datetime.now()
delta_time1 = now_time - boot_time_obj

print('开机时间:',boot_time_obj)

print('当前时间:',str(now_time).split('.')[0])
print('开机时长:',str(delta_time1).split('.')[0])

print('当前登录用户'.center(50,'*'))
login_user = psutil.users()[0]
print(login_user.name)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.difflib文件对比

‘+’ 包含在第二个系列行中,但不包含第一个
‘-’ 包含在第一个系列行中,但不包含第二个
’ ’ 两个系列行一致
‘?’ 存在增量差异
‘^’ 存在差异字符

"""
'+' 包含在第二个系列行中,但不包含第一个
'-' 包含在第一个系列行中,但不包含第二个
' ' 两个系列行一致
'?' 存在增量差异
'^' 存在差异字符
"""
import difflib
text1 = '''  1. Beautiful is better than ugly.
       2. Explicit is better than implicit.
       3. Simple is better than complex.
       4. Complex is better than complicated.
            '''.splitlines(keepends=False)		##是否保留结尾的'\n'换行符,Flase表示不保留

text2 = '''  1. Beautiful is better than ugly.
       3.   Simple is better than complex.
       4. Complicated is better than complex.
       5. Flat is better than nested.
    '''.splitlines(keepends=True)

d = difflib.Differ()
print(''.join(d.compare(text1,text2)))		##原格式的不同比较难以快速查看出来
d = difflib.HtmlDiff()
htmlContent = d.make_file(text1,text2)
# print(htmlContent)
with open('diff.html','w') as f:            ##以html格式可以很方便的看到不同
    f.write(htmlContent)

在这里插入图片描述
在这里插入图片描述

1.linux中的文件用python中的命令方法来比较

import difflib

filename1 = '/tmp/passwd'
filename2 = '/tmp/passwd1'

with open(filename1) as f1,open(filename2) as f2:
    content1 = f1.read().splitlines(keepends=True)
    content2 = f2.read().splitlines(keepends=True)

d = difflib.HtmlDiff()
htmlContent = d.make_file(content1,content2)

with open('passwdDiff.html','w') as f:
    f.write(htmlContent)

在这里插入图片描述

3.sys模块

sys模块:system,接收操作系统调用解释器传入的参数

import os
import sys

print(sys.argv)
print(sys.argv[0])

print(sys.version)

if sys.version[0] == '2':
    print('running in python2...')
elif sys.version[0] == '3':
    print('running in python3')


print(sys.path)

print(sys.platform)
if sys.platform == 'linux':
    os.system('ifconfig')
else:
    os.system('ipconfig')

在这里插入图片描述

4.第三方模块

需要在联网的条件下下载相关模块
在这里插入图片描述
在这里插入图片描述

import qrcode
img = qrcode.make('http://www.baidu.com')
img.save('hello.png')           ##生成一个图片,会跳转到上面指定的网址
import random
import time

import itchat                   ##与微信相关的模块

hotReload = True                ##保持登陆
itchat.auto_login()             ##登陆网页微信

while True:
    itchat.send('hello westos',toUserName='filehelper')
    itchat.send_file('/tmp/passwd',toUserName='filehelper')
    time.sleep(random.randint(1,3))
friends = itchat.get_friends()
print(friends)                  ##对方扫描二维码登陆后,这里可以给对方的文件传输助手发送指定的内容

info = {}
for friend in friends[1:]:
    if friend['Sex'] == 1:
        info['male'] = info.get('male',0) + 1
    elif friend['Sex'] == 2:
        info['female'] = info.get('female', 0) + 1
    else:
        info['other'] = info.get('other',0) + 1
print(info)                     ##对方扫描二维码登陆后,统计对方微信中的总人数及男女比例

微信远程操作电脑

import os
import itchat

@itchat.msg_register(itchat.content.TEXT,isFriendChat=True)
def text_reply(msg):
    if msg['ToUserName'] == 'filehelper':
        #获取要执行的命令内容
        command = msg['Content']
        #系统执行代码
        if os.system(command) == 0:
            res = os.popen(command).read()
            result = '[返回值]-命令%s执行成功,执行结果: \n' + res
            itchat.send(result,'filehelper')
        else:
            result = '[返回值]-命令%s执行失败,请检查命令: \n' %(command)
            itchat.send(result,'filehelper')

itchat.auto_login()
itchat.run()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值