PostgresSQL和Python:表不存在,但确实存在

问题描述

我正在使用python。

我通过读取sql文件并执行查询来在python代码中填充psql

在我的db.py文件

def tablecreation(self,sqlfile,sqldatafile):
    try:
        cur = self.db_con.cursor()
        sql_file = open(sqlfile,'r')
        file1=sql_file.read()
        cur.execute(file1)
        sql_data_file= open(sqldatafile,'r')
        file2=sql_data_file.read()
        cur.execute(file2)
        self.db_con.commit()
    except Exception as e:
        print("Error occured",str(e))

我正在main.py文件调用上面的函数。上面的函数执行得很好,我在DB中签入,表已创建。

在我的main.py文件中: 通过调用上述函数创建表之后,我执行了一些数据库查询,但是它抛出类似表不存在但确实存在的错误

当我杀死main.py文件并再次运行时,它工作正常。没有引发任何错误

有人可以帮我吗?

main.py文件


from db.file2 import statusupdate
import os
from file import table

DB_POPULATE_FILEPATH = "../../DB/db-populate"
sql_FILE= "../../DB/v.sql"
sql_DATA_FILE = "../../DB/vd.sql"

if not os.path.isfile(DB_POPULATE_FILEPATH):
   table().tablecreation(sql_FILE,sql_DATA_FILE)
except Exception as e:
    print(str(e))


progressupdate_obj = statusupdate()
progressupdate_obj.update_progress_state() # I am calling the function update_progress_state

class statusupdate(object):
    def __init__(self):
        self.obj=job.BJob()
    def update_progress_state(self):
        self.obj.updateprocess(0,1)
def updateprocess(self,OldStatus,NewStatus):
    try:
        cur = self.db_con.cursor()
        cur.execute('UPDATE CONfig SET STATUS=%s WHERE STATUS=%s',(NewStatus,OldStatus))
        self.db_con.commit()        
    except Exception as e:
        print(str(e))

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)