iT邦幫忙

0

Python 錯誤 [預期的浮點數但得到“”]

  • 分享至 

  • xImage
import tkinter as tk
from tkinter.constants import CENTER
import os

root = tk.Tk()
root.title('控制視窗')
root.geometry('800x300')
radioValue = tk.IntVar()
#搜尋/新增
def loop():
    case_path = os.path.join("live")
    lst = os.listdir(case_path)
    for c in lst:
        if os.path.splitext(c)[1] == '.txt':
            open("live/"+c, "r")
            radio_btn = tk.Radiobutton(root, text=c, variable=radioValue, value=c, command=val)
            radio_btn.pack()

#刪除
def val():
    labelValue = tk.Label(root, textvariable=radioValue)
    labelValue.place(x=30, y=30, anchor=CENTER)
    print(radioValue.get())





bu3 = tk.Button(text="開始", command=loop)
bu3.place(x=100, y=200, anchor=CENTER)

bu3 = tk.Button(text="刪除", command=val)
bu3.place(x=200, y=200, anchor=CENTER)

root.mainloop()

我在測試程式時將回傳值打印在控制台上出現expected floating-point number but got ""
GUI上可以正常顯示
https://ithelp.ithome.com.tw/upload/images/20221118/20147671FDW9J1N8Io.png
因為我要刪除檔案 需要回傳名稱

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
海綿寶寶
iT邦大神 1 級 ‧ 2022-11-19 11:49:40
最佳解答

單純針對錯誤訊息
根據這篇的寫法

radioValue = tk.IntVar()

要改成

radioValue = tk.DoubleVar()

詳細的錯誤則不只一處
你會有多個檔案(radiobutton)
但是你指定 radioValue 只有一個(或者說根本沒有指定)

先前的問題如果已經解決
記得選最有幫助解答以結案

依照你的答案更改後還是出現
expected floating-point number but got "a.txt"
但解決了
expected integer but got "a.txt"
後來我將

radioValue = tk.DoubleVar()

修改為
radioValue = tk.StringVar()
就可以打印至控制台了
感謝您的幫忙

我要發表回答

立即登入回答