我正在尝试编写一个小的python2.xapi来支持获取
job
由jobNumber
提供,其中jobNumber
是一个整数。
有时用户提供一个jobNumber
作为一个整数文本
以0开头,例如037537
。(这是因为他们
受到R的宠爱,一种理智地认为037537==37537
)的语言
但是,Python考虑以“0”开头的整数文本
是八进制,因此037537!=37537
,而不是{
但我现在只能使用Python2.7。所以我的用户会这样做:
>>> fetchJob(037537)
默默地找错了工作(16223),或者这样:
^{pr2}$其中Python拒绝八进制不兼容的数字。在
似乎没有任何通过__future__
提供给
请允许我获得Py3K行为——它必须是内置的
因为它需要对lexer进行更改
至少。在
有人知道我如何保护我的用户不被 在这种情况下是错误的工作?目前我能想到的最好的 的方法是更改API,使其使用字符串而不是int
是的,考虑到目前的情况,我认为这是一个合理的选择。在
另一个选择是确保所有的工作编号至少包含一个大于7的数字,这样加上前导的零将立即给出错误而不是错误的结果,但这似乎比使用字符串更难。在
最后一个选择是教育用户。只需5分钟左右就可以解释为什么不加前导零,如果加了,会发生什么。即使他们忘记或是由于旧习惯而不小心加了零,如果他们以前听说过这个问题,他们更有可能发现这个问题。在
也许您可以将输入作为一个字符串,去掉前导的零,然后再转换回int?在
相关问题 更多 >
编程相关推荐