Синтаксический вопрос: Циклическое последовательное копирование файлов

#python #loops #file #syntax

Вопрос:

Как создать цикл для выполнения изменений в моих файлах?

Мне нужно отредактировать 1201 файл.

Я хотел бы повторить эти три строки кода для всех моих файлов 1201. Кажется, я не могу правильно подобрать синтаксис.

Моя идея такова:

 import numpy as np
import scipy.io
from scipy.io import savemat

for (i) in range(1200):  #start of loop
    mat = scipy.io.loadmat('GT_IMG_[i].mat')
    mat1=np.asarray(mat)
    savemat("GT_IMG_[i].mat"), {"image_info":mat1})
                         #End of loop
 

Ответ №1:

Если вы хотите использовать переменную i как часть строк имени файла, используйте форматированную строку, например:

 for i in range(1200):
    mat = scipy.io.loadmat(f'GT_IMG_{str(i)}.mat')
 

Кроме того, у вас есть дополнительные скобки или что-то в вашей последней строке.

Комментарии:

1. Вам не нужно бросать в строку.

Ответ №2:

Я понятия не имею, как работает scipy, но я вижу в вашем коде, что вам нужно вставить 'GT_IMG_[i].mat' такую f-строку: f'GT_IMG_{i}.mat'