python - 在哪里保存常见的 strftime 字符串,如 ("%d/%m/%Y")

标签 python global-variables strftime format-string

在我的应用程序中,我发现自己经常使用 stftime,而且主要使用 2 种字符串格式 - ("%d/%m/%Y") 和 ("%H:%M")

我不想每次都写字符串,而是想将这些字符串存储在某个全局变量或其他东西中,这样我就可以在我的应用程序中的一个地方定义格式字符串。

这样做的 pythonic 方式是什么?我应该使用全局字典、类、函数还是其他东西?

大概是这样的?

class TimeFormats():
    def __init__(self):
        self.date = "%d/%m/%Y"
        self.time = "%H:%M"

还是这样?

def hourFormat(item):
    return item.strftime("%H:%M")

感谢帮助

最佳答案

您可以使用 functools.partial 生成一个包含以下格式的函数:

import time,functools

time_dhm = functools.partial(time.strftime,"%d/%m/%Y") 
time_hm = functools.partial(time.strftime,"%H:%M")

print(time_dhm(time.localtime()))
print(time_hm(time.localtime()))

结果:

18/01/2017
10:38

您只需将time 结构传递给新函数即可。该函数保存格式。

注意:你可以用 lambda 做同样的事情:

time_dhm = lambda t : time.strftime("%d/%m/%Y",t)

关于python - 在哪里保存常见的 strftime 字符串,如 ("%d/%m/%Y"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41715751/

相关文章:

php - 如何使用 $_SERVER 变量的路径,修改它并将其分配给 PHP 中的某个变量?

python - 只允许访问 django 中的未登录用户

python - 如何使用 scapy python 读取数据包 TLS 元数据

python - 有没有一种方法可以更改 for 循环中的全局函数而不是创建一个新函数?

Swift 全局变量线程安全

r - 用闰年计算一年中的天数

perl - 通过 perl 脚本对 strftime 使用与区域设置不同的语言

python - 类型错误 : unbound method strftime() must be called with datetime instance as first argument (got str instance instead) at Form1, 第 38 行

python - 如何总结列表的数量

python - python 中的元组与列表对象