首页 > 解决方案 > 如何修复 SyntaxError:尝试将零填充到数字字符串时语法无效?

问题描述

for i in range(1,50): 
    path = if i < 10:
               url + '0' + str(i)
           else:
               url + str(i)

    df = pd.read_html(path)

在这种情况下,我得到了

SyntaxError: invalid syntax for 'if'.

如何修复此代码?

标签: pythonstringif-statementzero-padding

解决方案


保持简单明了,只需执行以下操作:

if i < 10:
    path =   url + '0' + str(i)
else:
    path =  url + str(i)

或者,使用 Python 的字符串格式化功能来创建您的字符串。如果您想要一个最小长度为 2 个字符的零填充字符串,您可以使用以下格式:

>>> a = 3
>>> f'{a:0>2}'
'03'
>>> a = 33
>>> f'{a:0>2}'
'33'
>>> a = 333
>>> f'{a:0>2}'
'333'

推荐阅读