# -*- 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")

bat调用python脚本并获取返回值_python生成bat脚本,并且执行bat脚本相关推荐

  1. python 调用控制台并获取返回结果_Java调用Python脚本并获取返回值

    在Java程序中有时需要调用Python的程序,这时可以使用一般的PyFunction来调用python的函数并获得返回值,但是采用这种方法有可能出现一些莫名其妙的错误,比如ImportError.在 ...

  2. java 调用linux 脚本并获取返回值

    大家好,我是烤鸭: 今天分享下java 调用 shell脚本 并获取返回值. 代码实践 String cmd = "df -h"; StringBuffer sb = new St ...

  3. 使用java运行Python脚本并获取返回值

    java运行Python脚本并获取返回值 java运行Python脚本并获取返回值 使用runtime类实现在java中运行Python脚本,话不多说,直接上代码 java运行Python脚本并获取返 ...

  4. python获取返回值_python 调用 shell ,获取返回值和返回信息

    网络上有各种方案解决python调用shell的解决方案,但是没有一个完美的,以下是本人整理的一个方案,比较完美地解决了同时解决获取返回值和返回信息. def run_linux_cmd_quiet( ...

  5. python os.system保存返回值_python中os.system的返回值

    python中os.system()的返回值 1.python中的 os.system(cmd)的返回值与linux命令返回值(具体参见本文附加内容)的关系 你们都习惯用os.systemv()函数执 ...

  6. Python中调用Linux命令并获取返回值

    方法一.使用os模块的system方法: os.system(cmd),其返回值是shell指令运行后返回的状态码,int类型,0表示shell指令成功执行,256/512表示未找到,该方法适用于sh ...

  7. python执行linux命令返回结果_Python中调用Linux命令并获取返回值

    方法一.使用os模块的system方法:os.system(cmd),其返回值是shell指令运行后返回的状态码,int类型,0表示shell指令成功执行,256/512表示未找到,该方法适用于she ...

  8. shell传参python脚本和获取返回值的探索方式

    一.python脚本 1.情况1:正常return 文件名test1.py #无参数有返回值的函数 def Have_return():return 55if __name__ == '__main_ ...

  9. python curl 获取返回值_python获取系统命令的返回值 | curl in python

    项目背景: 通过curl 命令 从服务器获取数组,tids,然后导入到Mysql 表中. 自己想的方案: shell命令不熟悉,另外python中的数据库等接口都已封装,所以想使用Python来做,利 ...

最新文章

  1. JavaScript编程:文档对象模型DOM
  2. JAVA生成并导出json文件
  3. Bokeh库快速入门
  4. php利用反射机制查找类和方法的所在位置
  5. 每日一C(函数指针)
  6. nginx代理服务器
  7. Linux文字识别软件,Ubuntu 14.04下PDF 文字识别工具gscan2pdf
  8. lwip---(五)以太网数据接收
  9. 基于networkx的《人民的名义》人物关系图
  10. java8 LocalDate获取自然周的方法
  11. 20210918 【双击excel文件,看不到文件内容,只有灰蒙蒙的一片】的解决办法
  12. 基于STM32HAL库ADC+DMA模式,高精度采集电池电量与芯片内部温度方法 (48脚 使用内部参考电压方案)
  13. 参加老同学蒋坤元新书发布会(4)
  14. 【实战项目】基于BP神经网络的温度预测(附源码)
  15. 三维重建 阈值分割 3D可视化 医学图像分割 CT图像分割及重建系统 可视化编程技术及应用
  16. 《谁动了我的奶酪》读书笔记
  17. JavaScript中事件回顾
  18. 科研小白如何读英文文献?该如何做笔记?(附OneNote笔记多设备同步教程)
  19. 熵、相对熵、交叉熵等理解
  20. C++Python描述 LeetCode 1109. 航班预订统计

热门文章

  1. 关于下一代智能BMS的域控制器核心介绍
  2. Cadence17.4学习手册之原理图设计(一)
  3. 前端开发,遇到火狐浏览器无法加载css样式表的情况及解决
  4. php access数据库_在PHP中使用Access数据库
  5. access数据库应用系统客观题_ACCESS数据库应用练习题
  6. 什么是IT服务管理(ITSM)?企业该如何进行IT服务管理?
  7. YUV,YUV420P(YU12和YV12),YUV420SP(NV21和NV12)
  8. Python 游戏:贪吃蛇
  9. SRIO中的关键数据包格式总结
  10. Key = already exists.