特别是我在Windows上使用%-d
和%-m
时遇到了问题。在
我得到的错误很简单
output_dict.update({"DOB1": f"{dob.strftime('%-m/%-d/%Y') if not dob is None else 'UniqueID' + str(row)}"})
ValueError: Invalid format string
我的格式字符串如下所示:
^{pr2}$我相当肯定这是因为我是windows,但我想知道是否有一种独立于平台的方法来解决这个问题,还是我做了其他错误而导致了这个错误。在
我看到了一些关于%e
在windows中用于月份的内容strftime
,但是它用空格代替了0,但这是不可取的。我试图得到这些精确的输出(稍后我使用类似的格式字符串)1/1/2000
和{
我不希望使用{dob.year}
ect之类的解决方案,因为我已经有了一个格式字符串。在
如果您有任何关于最佳实践的想法,以及如何实施解决方案,我将不胜感激。非常感谢。在
答案的一部分隐藏在SA注释中:Why does "%-d", or "%-e" remove the leading space or zero?
在Windows上,您应该使用
#
来避免零填充(在Unix系统上,它代替了-
)。在下面是一个小例子:
不幸的是,我没有跨平台的解决方案。在
相关问题 更多 >
编程相关推荐