在 argparse 中指定帮助时,我经常在 help=
中使用 %(default)s
或 %(const)s
等字符串参数显示默认参数。不过,语法有点奇怪:我认为它是用 %
格式化 python 字符串的时代遗留下来的,但从 python 2.6 开始,格式化字符串的标准方法一直使用 format ()
函数。
那么这些库只是使用“旧”替换语法,还是来自其他地方?有人说 %
替换运算符将在某个时刻消失,那么这些库会更改为 '{}'.format()
语法吗?
最佳答案
是的,argparse
和 ConfigParser
库在内部使用旧式 %
字符串格式化语法。这些库是在 str.format()
和 format()
可用之前开发的,或者在 argparse
的情况下,库作者旨在实现兼容性使用早期的 Python 版本。
如果 %
格式被删除,那么这些库确实必须转而使用使用 {}
占位符的字符串格式。
但是,由于各种原因,%
旧式字符串格式样式在可预见的 future 仍将继续存在;它已被“未弃用”; str.format()
是首选,但保留 %
是为了向后兼容。
关于python - argparse 和 ConfigParser 字符串替换语法从何而来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18128391/