py2099 发表于 2022-7-6 11:47:15

python tkinter多线程数据不准

本帖最后由 py2099 于 2022-7-6 11:51 编辑

各位大神,python 多线程读数据库数据并写入txt文件(已用互斥锁),在pycharm调试导出数据是正常的,但tkinter编译出exe程序后,第一次导出的数据不准,第二次(未退出程序)导数据又是准的。有大神可以指导下吗,谢谢

问题补充:
1、数据库有10台(1台数据库开1个线程)
2、10台数据库查询到的结果,写入一个TXT文件中。
3、pycharm调试,写入txt数据准确。
4、用tkinter界面并打包exe文件后,运行第一次导出的数据不准,(未退出exe程序下)第二次数据就是准确的。

ba21 发表于 2022-7-6 13:52:47

很明显代码逻辑有问题 。自己再花点时间调试下就找到问题 了。

py2099 发表于 2022-7-7 09:40:40

ba21 发表于 2022-7-6 13:52
很明显代码逻辑有问题 。自己再花点时间调试下就找到问题 了。

相同的代码,pycharm调试数据准确,打包exe后,第一次导数据错误,不退出程序,第二次及以后都是准确的。

hrpzcf 发表于 2022-7-7 13:13:07

只有这些描述没有代码和数据,没法定位问题。
源代码运行和打包exe后运行,不是所有的东西都完全一样
比如 __file__、sys.executable、sys.argv这些的值,可能从源代码运行和打包exe后运行它们的值就不一样
不同点不只上面列举的这些东西

ba21 发表于 2022-7-7 19:32:40

py2099 发表于 2022-7-7 09:40
相同的代码,pycharm调试数据准确,打包exe后,第一次导数据错误,不退出程序,第二次及以后都是准确的。

代码中插入调试log输出,然后打包exe看看是不是按你的逻辑执行的
页: [1]
查看完整版本: python tkinter多线程数据不准