2016-06-27 2 views
0

Пожалуйста, посмотрите на следующий Минимальный рабочий пример (MWE)именования файлов внутри для цикла

import numpy as np 
T_val = np.linspace(100,200,15) 
for i,T in enumerate(T_val): 
    ut_file_name = 'kappaFunction_P_E_%2d.pdf' % i 
    print out_file_name 

Вывод для этого MWE наступающем как:

.
.
kappaFunction_P_E_ 7.pdf
kappaFunction_P_E_ 8.pdf
kappaFunction_P_E_ 9.pdf
kappaFunction_P_E_10.pdf
kappaFunction_P_E_11.pdf
kappaFunction_P_E_12.pdf
.
.

То, что я намерен получить это

... kappaFunction_P_E_08.pdf, kappaFunction_P_E_09.pdf, kappaFunction_P_E_10.pdf ....

Вместо предваряя перед тем, одноразрядное число оставляет пространство. Как мы можем избавиться от этого?

ответ

1

Вам не нужно использовать enumerate, так как ваш только с помощью индекса. И ваш формат, чтобы работать, как ожидалось, вам нужно использовать %02d, чтобы получить 0 перед:

import numpy as np 
T_val = np.linspace(100,200,15) 
for i in range(len(T_val)): 
    ut_file_name = 'kappaFunction_P_E_%02d.pdf' % i 
    print out_file_name 
+0

Hi .. Спасибо. В MWE я использую только индекс. Но в моем подлинном сценарии я должен использовать значения. –

+1

Я ожидал этого :) – Cyrbil

1

Добавить 0 в формате

... %02d.pdf' % i 

что напечатает 07, 08, 09 и т.д.

Смежные вопросы