判斷資料庫和磁碟中檔案是否一致

2021-07-11 05:31:30 字數 2444 閱讀 2056

from db import mssqldb

from openpyxl import load_workbook

import fnmatch, os, sys, win32com.client

import re

count=0 #記錄處理的資料行數

txtcount=0#記錄doc或docx檔案複製為txt檔案的檔名

db=mssqldb()

reslist=db.execquery(" select name from lq_testdoc ")

try:

for r in reslist:

filename=r[0]

if os.path.exists(filename):

if fnmatch.fnmatch(filename, '*.txt'):

## txtdeal = os.path.abspath(os.path.join(path,filename))

picnumstr='0'

f=open(filename,'r')

strlines=f.readlines()

string="".join(list(strlines))

f.close()

string=string.replace("'"," ")

db.execnonquery("insert into lq_data(filename,filecontent,flag) values ('"+filename+"','"+string+"','"+picnumstr+"')" );

count=count+1

print('succeed--第'+str(count)+'行資料')

elif fnmatch.fnmatch(filename, '*.docx') or fnmatch.fnmatch(filename, '*.doc'):

## doc = os.path.abspath(os.path.join(path,filename))

picnum=docc.inlineshapes.count

docc.close()

if picnum!=0:

picnum=1

## if fnmatch.fnmatch(filename, '*.doc'):

## docastext = filename[:-3] + 'txt'

## else:

## docastext = filename[:-4] + 'txt'

txtcount=txtcount+1

txtname=str(txtcount)+'.txt'

docastext=os.path.abspath(os.path.join(txtpath,txtname))

picnumstr=str(picnum)

f=open(docastext,'r')

strlines=f.readlines()

string="".join(list(strlines))

f.close()

string=string.replace("'"," ")

db.execnonquery("insert into lq_data(filename,filecontent,flag) values ('"+filename+"','"+string+"','"+picnumstr+"')" );

## os.remove(docastext)

count=count+1

print('succeed--第'+str(count)+'行資料')

else:

db.execnonquery("insert into lq_data(filename,filecontent) values ("+

"'"+filename+"',"+

"'該檔案不是格式的檔案')");

count=count+1

print('succeed--第'+str(count)+'行資料')

continue

else:

db.execnonquery("insert into lq_data(filename,filecontent) values ("+

"'"+filename+"',"+

"'給出的絕對路徑下該檔案不存在')");

count=count+1

print('succeed--第'+str(count)+'行資料')

continue

finally:

print ('end')

校驗redis存入資料和資料庫是否一致

需求 redis裡面存入了會員的身份資訊,其中key是根據會員id相關生成的,值是會員資訊。每次登陸會觸發key的值資訊更新,有的會員未重新登入,導致redis資訊和資料庫不一致 也不知道為什麼,當初更改資料庫資訊的時候,沒有更新redis 現需要查詢出哪些會員的redis資訊未及時更新。初步了解 ...

資料庫一致性

資料庫一致性 database consistency 是指事務執行的結果必須是使資料庫從乙個一致性狀態變到另乙個一致性狀態。保證資料庫一致性是指當事務完成時,必須使所有資料都具有一致的狀態。在關係型資料庫中,所有的規則必須應用到事務的修改上,以便維護所有資料的完整性。保證資料庫的一致性是資料庫管理...

資料庫的強一致性和弱一致性

強一致性可以理解為在任意時刻,所有節點中的資料是一樣的。同一時間點,你在節點a中獲取到key1的值與在節點b中獲取到key1的值應該都是一樣的 弱一致性 相當於非同步 系統並不保證續程序或者執行緒的訪問都會返回最新的更新過的值。系統在資料寫入成功之後,不承諾立即可以讀到最新寫入的值,也不會具體的承諾...