Я пытаюсь закрепить мой код python с помощью cython.Как (эффектно) построить строку в Китоне?
В cython одним из узких мест, которые я пытаюсь удалить, является построение имени файла (строки) в цикле. Однако мне не удается повторно написать свой питона код в Cython образом:
cdef str filename, path
for ii in range(len(a0)):
for jj in range(len(a1)):
filename = self.path + 'directory' + format(int(lon[ii,jj]),'02d')+ '_' + format(int(lat[ii,jj]),'02d') + '.csv'
Любая помощь о том, как переписать это будет высоко ценится! Thanks
Пожалуйста, не используйте переменные типа «a0», «a1», «ii» и «jj» - их трудно рассуждать. Также вам не нужно делать 'range (len (a0))', если ваша переменная итерируется, просто выполните 'for ii in a0' или ее эквивалент. – joeb
'format' - это функция' Python', как и строка '+'. Так же называется индексирование 'lon [ii, jj]' ('numpy'). Существует не так много, что 'cython' может преобразовать в 'pure' C. – hpaulj
Быстрый взгляд на строки' cython' docs, http://cython.readthedocs.io/en/latest/src/tutorial/strings.html , предполагает, что он не может многое сделать для ускорения операций с строкой. Они препятствуют использованию строк 'c'. Взаимодействие с библиотекой строк 'C++' может работать. – hpaulj