je peux taper le code suivant dans le terminal, et il fonctionne:Python 3 avec la fonction de gamme
for i in range(5):
print(i)
Et il imprimera:
0
1
2
3
4
comme prévu. Cependant, j'ai essayé d'écrire un script qui fait une chose semblable:
print(current_chunk.data)
read_chunk(file, current_chunk)
numVerts, numFaces, numEdges = current_chunk.data
print(current_chunk.data)
print(numVerts)
for vertex in range(numVerts):
print("Hello World")
current_chunk.data est obtenu à partir de la méthode suivante:
def read_chunk(file, chunk):
line = file.readline()
while line.startswith('#'):
line = file.readline()
chunk.data = line.split()
La sortie en est:
['OFF']
['490', '518', '0']
490
Traceback (most recent call last):
File "/home/leif/src/install/linux2/.blender/scripts/io/import_scene_off.py", line 88, in execute
load_off(self.properties.path, context)
File "/home/leif/src/install/linux2/.blender/scripts/io/import_scene_off.py", line 68, in load_off
for vertex in range(numVerts):
TypeError: 'str' object cannot be interpreted as an integer
Alors, pourquoi ne crache-t-il pas Hello World 490 fois? Ou est-ce que le 490 est considéré comme une chaîne?
J'ai ouvert le fichier comme ceci:
def load_off(filename, context):
file = open(filename, 'r')