在python中的其他函数中插入函数

我有用 tkinter、python 编写的小应用程序。我想通过单击 tkinter 中的按钮来选择 txt 文件并自动将其发送到我的 SQL 数据库。此刻,我有负责从我的光盘中选择一个文件并在控制台中打印我的 txt 文件的功能:


def OpenFile():

    name = askopenfilename(initialdir="",

                       filetypes =(("Text File", "*.txt"),("All Files","*.*")),

                       title = "Choose a file."

                       )

    print(name)

    #Using try in case user types in unknown file or closes without choosing a file.

    try:

        with open(name,'r') as UseFile:

            print(UseFile.read())

    except:

        print("No file exists")

负责发送到 SQL 的函数看起来是这样的(txt 文件插入函数内部):


def Tabela():

    with open("pom1.txt") as infile:

        for line in infile:

            data = line.split("\t")

            print(data)

            query = ("INSERT INTO Pomiary_Obwod_90(Pomiar_x, Pomiar_y, Pomiar_z) VALUES"

                 "(" + data[1] + ", " + data[2] + ", " + data[3] + ");")

            cursor.execute(query, data)

            con.commit()

   return

有谁知道我可以做些什么来连接这两个功能?这个想法是从函数 OpenFile() 中选择 txt 文件,然后应用程序应自动将其发送到数据库。



www说
浏览 140回答 1
1回答

拉丁的传说

将Tabela文件作为参数而不是硬编码pom1.txt,并Tabela(UseFile)从OpenFile().此外,由于您cursor.execute()使用参数调用,因此不应连接datainto的元素query,只需在查询中放置占位符。def OpenFile():    name = askopenfilename(initialdir="",                       filetypes =(("Text File", "*.txt"),("All Files","*.*")),                       title = "Choose a file."                       )    print(name)    #Using try in case user types in unknown file or closes without choosing a file.    try:        with open(name,'r') as UseFile:            Tabela(UseFile)    except:        print("No file exists")def Tabela(infile):    for line in infile:        data = line.strip().split("\t")        print(data)        query = ("INSERT INTO Pomiary_Obwod_90(Pomiar_x, Pomiar_y, Pomiar_z) VALUES (%s, %s, %s)")        cursor.execute(query, data)        con.commit()   return
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python