吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2271|回复: 6
收起左侧

[Python 原创] 【python】【Python】定时查询文件是否修改

[复制链接]
liuyiliux 发表于 2019-8-12 15:36
本帖最后由 wushaominkk 于 2019-8-13 08:32 编辑

本人小白,一直搞手工测试的前几天学妹公司让做一个判断文件的代码练练手,拿来修改了下,源码如下:
[Python] 纯文本查看 复制代码
import time

import xlrd
import threading
def res_one():
    z=[]
    for i in range(row):
        rowdate = worksheet.row_values(i)  # i行的list
        z.append(rowdate)
    return z
def sayhello():
    global t
    workxls = xlrd.open_workbook("g:/work-6-28.xlsx")
    worksheet = workxls.sheet_by_name("Sheet1")
    row = worksheet.nrows  # 总行数
    for i in range(row):
        rowdate = worksheet.row_values(i)  # i行的list
        for a, b in enumerate(rowdate):
            # print(i, a, b)  # 第i行,a列,数据b
            x=res(b,z[i][a])
            if x:
                print("有修改在:" + str(i + 1) + "行" + str(a + 1) + "列") #数列从0开始,加1方便阅读
                print("修改值:" + str(z[i][a]))
                print("修改后值:" + str(b))
                print("修改时间为:" + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
                z[i] = rowdate #重置修改地方的数据判断为新的数据
            else:
                pass
    t = threading.Timer(1.0, sayhello)
    t.start()

def res(b,c):
    if (b == c):
        return 0
    else:
        return 1
if __name__ == '__main__':
    workxls = xlrd.open_workbook("g:/work-6-28.xlsx")
    worksheet = workxls.sheet_by_name("Sheet1")
    row = worksheet.nrows  # 总行数
    z=res_one()
    t = threading.Timer(1.0, sayhello)
    t.start()

功能是定时检查Excel数据是否有改动。理论上判断有改动后要触发邮件或者其他微信接口等通知。比如bug状态值改成已修复了发信息给测试。
效果图如下:

运行效果图

运行效果图

免费评分

参与人数 1吾爱币 +2 热心值 +1 收起 理由
苏紫方璇 + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

s1761165854 发表于 2019-8-12 15:56
windows有接口 修改了文件会提示的
xian54966 发表于 2019-8-12 16:03
更适用于表格结构固定的文档,只是其中数据增删改会好些。要是插入或者删除行或者列,反馈的数据可读性就不高了
 楼主| liuyiliux 发表于 2019-8-12 16:47
 楼主| liuyiliux 发表于 2019-8-12 16:48
xian54966 发表于 2019-8-12 16:03
更适用于表格结构固定的文档,只是其中数据增删改会好些。要是插入或者删除行或者列,反馈的数据可读性就不 ...

感谢指点
pkclown 发表于 2019-8-12 23:06
s1761165854 发表于 2019-8-12 15:56
windows有接口 修改了文件会提示的

请问下是什么接口,谢谢了
s1761165854 发表于 2019-8-15 10:12
pkclown 发表于 2019-8-12 23:06
请问下是什么接口,谢谢了

使用Qt的话有QFileSystemWatcher类
Win32的话是ReadDirectoryChangesW(hFile,
                        &Buffer,
                        sizeof(Buffer),
                        TRUE,
                        FILE_NOTIFY_CHANGE_FILE_NAME |  // 修改文件名
                        FILE_NOTIFY_CHANGE_ATTRIBUTES | // 修改文件属性
                        FILE_NOTIFY_CHANGE_LAST_WRITE , // 最后一次写入
                        &BytesReturned,
                        NULL, NULL);   放在线程里监控就行
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-20 06:07

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表