我得到一个ValueError:strftime格式以raw%结尾根.u追加(d.strftime(“%I:%M%p”+百分比+“%”)

2024-05-23 23:47:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我编写这个脚本是为了跟踪我的当前时间和当前电池百分比(然后将其附加到剪贴板以便粘贴到某个地方):

from tkinter import *
from urllib import parse
from tkinter import Tk
import tkinter.ttk as ttk
from datetime import datetime
import psutil


root = Tk() 
root.title("Current Time")
root.geometry('250x57+1000+103')

lbl = Label(root, text="Time")
lbl.pack()

def clicked():

    d = datetime.now()
    print(d.strftime("%I:%M"))

    battery = psutil.sensors_battery()
    plugged = battery.power_plugged
    percent = str(battery.percent)
    print(percent+'%')


    root.clipboard_clear()
    root.clipboard_append(d.strftime(percent+"%" + "%I:%M %p"))
    lbl.configure(text= d.strftime(percent+"%" + "%I:%M %p"))

style = ttk.Style(root)
style.theme_use('clam')
style.configure('TButton', bordercolor="black")

btn = ttk.Button(root, text='Show Current Time', style='TButton', command=clicked, width = 37)
btn.pack()

root.wm_attributes("-topmost", 1)
root.mainloop()

我想这样输出它“小时:分钟电池百分比“=”12:25 PM 94%“

问题是,如果我这样写代码:

root.clipboard_append(d.strftime("%I:%M %p" + percent+"%"))
lbl.configure(text= d.strftime("%I:%M %p" + percent+"%"))

。。。我将得到一个值错误:strftime格式以raw%结束(不知道为什么)

但如果是这样写的:

root.clipboard_append(d.strftime(percent+"%" "%I:%M %p"))
lbl.configure(text= d.strftime(percent+"%" "%I:%M %p"))

。。。我不会得到任何错误,但问题是,它看起来weird(小时部分将只是字母“I”)。即使我把它粘贴到某个地方,它也会像这样“95%I:25 PM”(应该是“95%12:25 PM”)


Tags: textfromimportdatetimetimestyletkinterconfigure