python - 我收到 ValueError : strftime format ends with raw % for root. Clipboard_append(d.strftime ("%I:%M %p"+% +"%"))

标签 python datetime strftime

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

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+"%"))

...我会得到一个ValueError:strftime format以原始%结尾(不知道为什么)

但是如果这样写:

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”)

最佳答案

您只需在 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%

关于python - 我收到 ValueError : strftime format ends with raw % for root. Clipboard_append(d.strftime ("%I:%M %p"+% +"%")),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54339600/

相关文章:

javascript - 你如何使用 javascript 设置 strftime?

python - 是否可以从 Flutter 应用程序运行 Python 方法?

python - 使用 nopython 模式在 numba 装饰器@njit 中为字符串的 ndarray 签名

python - 背包问题(经典)

javascript - 检查输入的日期时间是否距离现在超过 72 小时?

java - Jsonserialized 日期转换为 android 日期格式时出现问题

java - 如何使用 Scala/Java 中的索引从另一个数组分配一个数组的元素?

javascript - 使用 IntlDateTimeFormat 返回 AM/PM

python - 使用python将字符串转换为时间

python - 将字符串中的日期列表转换为 Python 中的月、日、年