# -*- coding: UTF-8 -*-

# 命名方式为表名_操作_字段

import os

import tempfile

import connectDB

from controller import fileController

curosrdiction = connectDB.curosr_diction

database_back_folder = ""

def exec_sql(sqltext):

'''

执行sql,成功返回true

:param sqltext: sql语句

:return:

'''

result = curosrdiction.executescript(sqltext)

curosrdiction.commit()

return result

def backup_database():

'''

备份数据库

:return:

'''

global database_back_folder

database_back_folder = tempfile.mkdtemp()

fileController.copy_file_to_folder('resource/sqllite.db', database_back_folder)

write_bat()

def restore_database():

'''

恢复数据库

:return:

'''

curosrdiction.close()

fileController.copy_file(srcfile=database_back_folder + "\\sqllite.db", dstfile='resource/sqllite.db')

def read_sql_from_text(file_name):

'''

从文本文件中读取sql并且执行,执行失败,就把原来的数据库覆盖回来

:param file_name:

:return:

'''

f = open(file_name, 'r')

sql = f.read()

if not exec_sql(sql):

run_bat()

def write_bat():

sql_database_path = os.getcwd() + "\\resource\\sqllite.db"

sql_database_path_shm = os.getcwd() + "\\resource\\sqllite.db-shm"

sql_database_path_wal = os.getcwd() + "\\resource\\sqllite.db-wal"

bat_name = 'copy.bat'

s1 = '''@echo off

@ping -n 5 127.1 >nul 2>nul

echo delete database...

del ''' + sql_database_path + '''

del ''' + sql_database_path_shm + '''

del ''' + sql_database_path_wal + '''

echo restore database...

@ping -n 5 127.1 >nul 2>nul

copy ''' + database_back_folder + "\\sqllite.db " + sql_database_path + '''

echo restore finish

pause'''

f = open(bat_name, 'w')

f.write(s1)

f.close()

def run_bat():

'''

运行bat

:return:

'''

os.system('start copy.bat')

def update_sql():

'''

开始更新数据库的主入口

:return:

'''

backup_database()

read_sql_from_text("resource/download/1.2.3_sql.txt")

python执行bat文件_python生成bat脚本,并且执行bat脚本相关推荐

  1. python读取nc文件数据生成专业气象图

    python读取nc文件数据生成专业气象图如色斑图.等值线.风向标,如下图所示: 代码如下: # -*- coding: utf-8 -*- """ Created on ...

  2. python执行bat文件_Python中调用PowerShell、远程执行bat文件实例

    python调用本地powershell方法 1.现在准备一个简陋的powershell脚本,功能是测试一个IP列表哪些可以ping通: function test_ping($iplist) { f ...

  3. python执行bat文件_python自动运行cmd,bat文件

    展开全部 python编码2113启动cmd批处理文件(.bat文件),用subprocess方法可以将相应5261的cmd输出获取到,代码如下:4102#import os#os.system (& ...

  4. python的pyd文件_Python 加密之 生成pyd文件

    混淆代码,我准备使用pyminifier.而加密处理,就比较麻烦. Python有py.pyc.pyw.pyo.pyd等文件格式. 其中,pyc是二进制文件.但很容易被反编译. pyw也不行,只是隐藏 ...

  5. python处理fasta文件_Python脚本:fasta文件单序列信息提取

    使用Python对fasta格式的序列进行基本信息统计 预期设计输出文件中包括fasta文件名,序列长度,GC含量以及ATCG各自的含量. Python脚本编辑 使用的文件 test.fasta st ...

  6. 如何在bat文件中切换盘符并执行命令

    各位大佬,求助!!! 如题,如何使用bat批处理,切换盘符以后执行某个批处理. 由于要运行tomcat的service.bat安装服务,必须在tomcat的主文件夹运行批处理文件才可以安装成功,所以, ...

  7. python运行pyc文件_Python什么情况下会生成pyc文件?

    作为Python爱好者,需要了解.py脚本的基本运行机制及特性: 在很多工作上Python的运行流程基本上取决于用户,因此源码不需要编译成二进制代码(否则无法实现大部分贴近用户的特性),而直接从源码运 ...

  8. python运行pyc文件_python中__pyc__文件的生成和作用

    本文出自"阿敏其人"简书博客,转载请注明出处. 文/阿敏其人 当我们的python文件被编译过,文件之间存在import关系,就会生成一个__pyc__文件夹. 比如我们新建一个工 ...

  9. 批处理bat文件连接SQL Server数据库并执行相关sql代码

    一.终于赶在八月的尾巴有了写东西的冲动了,恰巧昨天碰到一个问题,需要用bat给别人来执行某些sql语句. 二.单一执行 2.1:sql代码 use [DBName] SELECT top(1)* FR ...

最新文章

  1. tf.get_variable
  2. iOS隐藏导航栏的方法
  3. 完整mes代码(含客户端和server端_Ice简介+Qt代码示例
  4. iptables的基础知识-iptables中的状态检测
  5. mysql 建索引_mysql数据库正确建立索引及使用
  6. [IOS] Storyboard全解析-第一部分
  7. Mac免费软件推荐:Wireshark for Mac(网络分析器)
  8. 利用DB Link搞定Oracle两个数据库间的表同步
  9. 浪漫的表白(C语言)
  10. java继承和接口的区别_java中的接口与继承的区别
  11. Android手势密码解锁
  12. java判断闰年中闰月_2019年农历闰几月 关于闰年闰月的认识
  13. 老视频修复完整教程:Topaz Video Enhance AI 提升分辨率+RIFE算法补帧
  14. python简单温度转换,python编写的简单温度转换程序
  15. access open 知乎_必备技能!国际汇款SCI Open Access费用
  16. 数据分析-思维分析逻辑day04
  17. 解决YOLOv5算法中的中文标签显示问题
  18. 聊聊ClickHouse中的低基数LowCardinality类型
  19. 阿里速度!100亿脱贫基金第一个项目落地
  20. Pyinstaller库的安装和使用用于生成可执行文件exe

热门文章

  1. 嵌入式linux界面开发,嵌入式Linux系统图形及图形用户界面
  2. 苹果系统VMware tool安装,实现虚拟系统全屏化
  3. 2021年度全国勘察设计注册工程师执业资格考试成绩合格人员公示和资格核查的通知汇总(3月18日更新)
  4. Max做履带,简单方法一则
  5. 31逻辑地址空间和物理地址空间
  6. 搜应用网是中国最丰富的手机资源下载站,为你提供精彩的手机图片.手机应用软件.手机游戏,定制服务手机用户的个性化需求,是广大手机用户.手机开发者.手机软件界面设计人员的广阔乐园.
  7. 高等数学18讲(19版)7.22
  8. 微信公众号-菜单连接跳转网页,获取用户OpenId
  9. [记录]阿里云云服务器启动nginx,服务器可以通过localhost:80能够访问,外网无法通过ip访问80端口
  10. MySql数据库之审计(开启log+设置init-connect实现无插件审计)