项目需求要将批量的sqlite db文件进行合并,db的名字跟表结构一模一样,只是存储的内容不同!经过一番搜索发现已有通过Python 实现的案例,于是拿来修改,最后也实现了!因为本人对Python也是小白一个,所以就整理了一下其中用到的资料,记录于此!
环境:Python 的安装详细教程: Pycharm及python安装详细教程 ,至于Pycharm可以先不用安装,用自带的IDLE也可以。
调试:Python如何用自带的IDLE进行调试DEBUG 对于调试,本人用的是最笨的方式,通过print来找问题。
db合并:Python_For_SQLite—如何利用Python实现SQLite数据库的批量合并 需要注意的是,文中Python的版本为 2.x ,而我下载的是3.x版本,Python3.x和Python2.x的在语法上有点区别,例如比较常用print就是。
C#调用Python方法:黄聪:C#中调用python脚本语言 C#调用python文件执行(设置变量值)
问题记录:在开发的电脑上可以正常使用,拷贝到别的电脑上运行不起来,很明显为别的电脑缺少运行的dll。
1.C#通过IronPython调用python脚本中的函数报错 No module named sqlite3 ,将python 程序安装包路径下面的C:\Program Files\Python36-32 中的DLLs 文件夹和Lib文件夹拷贝到程序的运行目录,可行;C#中调用IronPython代码,运行时却找不到python标准库?
2.C# 调用缺少 Microsoft.Dynamic.dll ,将IronPython安装路径下面的 C:\Program Files\IronPython 2.7 中的 Microsoft.Dynamic.dll 拷贝到程序的运行目录下面;
3.C#中引用的IronPython.dll IronPython.Modules.dll Microsoft.Scripting.dll也要一并输出至软件运行目录。
5.Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level
6.总而言之,别的电脑缺少什么dll,就找对应的dll丢到运行目录下面。
希望能帮到有需要的朋友,少走弯路!