为了账号安全,请及时绑定邮箱和手机立即绑定

我得到一个 ValueError: strftime 格式以 raw % for root

我得到一个 ValueError: strftime 格式以 raw % for root

MYYA 2021-10-19 10:41:12
我制作了这个脚本来跟踪我的当前时间和当前电池百分比(然后将其附加到剪贴板以便我可以将其粘贴到某处):from tkinter import *from urllib import parsefrom tkinter import Tkimport tkinter.ttk as ttkfrom datetime import datetimeimport psutilroot = 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+"%"))...我会得到一个ValueError: strftime 格式以原始 % 结尾(不知道为什么)但是如果是这样写的:root.clipboard_append(d.strftime(percent+"%" "%I:%M %p"))lbl.configure(text= d.strftime(percent+"%" "%I:%M %p"))...我不会得到任何错误,但问题是,它看起来很奇怪(小时部分只是字母“I”)。即使我把它粘贴到某个地方,它也会像这样“95%I:25 PM”(应该是“95% 12:25 PM”)
查看完整描述

1 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

您只需要处理外部的字符串连接datetime.strftime(...)。例如:


from datetime import datetime


p = 95

d = datetime.now()

s = '{} {}%'.format(d.strftime('%I:%M %p'), p)

print(s)

# OUTPUT

# 05:02 AM 95%


查看完整回答
反对 回复 2021-10-19
  • 1 回答
  • 0 关注
  • 288 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信