如何用前导 0 开始 Python 整数? [复制]

Posted

技术标签:

【中文标题】如何用前导 0 开始 Python 整数? [复制]【英文标题】:How to start a Python Integer WITH leading 0s? [duplicate] 【发布时间】:2021-02-05 14:35:10 【问题描述】:

我有一个网络爬虫,我需要从 000000001 开始的数字,因为这就是 URL 的开始方式,但是每当我运行它时,我都会得到“十进制整数文字中的前导零是不允许的;对八进制使用 0o 前缀整数”错误 - 我尝试使用但不能解决我的问题。

有没有办法解决这个问题?

摘录:

results = []
START = 000000001
LIMIT = 100
END = START + LIMIT + 1
row = 1

for i in range(START, END):
    URL = f"urli"
    result = parse(URL)
    if not result:
        print("this url doesn't exist: ", URL)
        continue
    for column_number, column_value in enumerate(result):
        worksheet.write(row, column_number, column_value)
    row += 1

【问题讨论】:

您要读取一个带有前导零的数字,还是打印一个(或在字符串中插入一个,例如URL)? 您需要一个 字符串,而不是整数,它包含整数 1 的特定表示。 @jordanm 在此之前我已经看到了,但我认为这并没有解决我的问题。我误解了那个线程吗? 顺便说一句,如果您想知道,整数文字中的前导零是不允许的,以避免与八进制数混淆。例如。 Python 2 只会默默地将 042 读取为 34 (4x8+2)。 【参考方案1】:

您需要包含固定宽度整数表示的str 值。

start = 1
limit = 100
end = start + limit + 1
row = 1


for i in range(start, end):
    url = f'urli:09'
    ...

: 之后,0 表示字符串应该用前导零填充以填充长度为 9 的字符串。

【讨论】:

非常感谢!我不确定将数字变成字符串的线程是什么意思,但现在这很有意义。我会把你的标记为答案

以上是关于如何用前导 0 开始 Python 整数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何用 0(零)填充整数? [复制]

如何用Python脚本编写1到100的整数和?

如何用前导零填充数组?

如何用Python编写一个素数环?

如何用python结合cplex求解混合整数规划问题

如何用Python生成多个随机矩阵