ValueError: неподдерживаемый символ формата 'p' (0x70) в индексе 7 - PullRequest
0 голосов
/ 11 ноября 2018

Я пытаюсь отформатировать строковое имя файла с помощью цикла, вот мой код

for i in range(1, 16):
    bgImageFile = ("bg_%01.png" %i)

1 Ответ

0 голосов
/ 11 ноября 2018

Синтаксис требует %d (или %s), а не просто %:

for i in range(1, 4):
    bgImageFile = 'bg_%s01.png'%i
    print(bgImageFile)

bg_101.png
bg_201.png
bg_301.png

В Python 3.6+ вы можете использовать f-строки ( PEP498 ):

for i in range(1, 4):
    bgImageFile = f'bg_{i}01.png'

Некоторые спецификаторы, которые вы должны знать ( source ):

%s - Строка (или любой объект со строковым представлением, например цифры)

%d - целые числа

%f - числа с плавающей точкой

%.<number of digits>f - С плавающей точкой с фиксированным количеством цифр в справа от точки.

%x/%X - Целые числа в шестнадцатеричном представлении (Нижний / верхний регистр)

...