Question: J'ai quelques problèmes avec mes anciens scripts qui ne fonctionnent pas sur Python 3.xLearning Python, scripts pour d'autres projets
Offtopic; Quelle est la flexibilité de Python lorsque vous tentez d'accéder à des fichiers binaires et texte pour renommer en masse, renuméroter? dans les archives de Collision et IMG?
Je n'ai plus la meilleure compréhension de cela car je suis allé dans le sens de Level design en utilisant 3dsmax.
Quoi qu'il en soit ..
Erreur:
Traceback (most recent call last):
File "C:\SOL_REM.py", line 26, in <module>
process_ide(sys.argv[1], int(sys.argv[2]),
File "C:\SOL_REM.py", line 18, in process_ide
ide_line = reduce(lambda x,y: str(x)+","+st
NameError: global name 'reduce' is not defined
code:
import sys
if len(sys.argv) < 4:
sys.exit('Usage: Source ide | ID number | Dest ide filename.' sys.argv[0])
def process_ide(ide_source, num, ide_destination):
src = open(ide_source,'r')
dst = open(ide_destination,'w')
for line in src:
ide_line = line
if not (line == "" or line[0]=="#" or len(line.split(",")) < 2):
ide_line = line.split(",")
ide_line[-1] = ide_line[-1][:-2]
ide_line[0] = num
num+=1
ide_line = reduce(lambda x,y: str(x)+","+str(y), ide_line)+"\n"
dst.write(ide_line)
src.close()
dst.close()
process_ide(sys.argv[1], int(sys.argv[2]), sys.argv[3])
Partant simple:
Ce que j'essaie de faire est d'analyser un fichier texte ide en changeant les nombres dans l'ordre d'énumération.
Syntaxe serait SOL_rem.py game.ide 1845 game2.ide
fichier Exemple:
ID Modelname TexName Rendering flags.
objs
1700, ap_booth2_03, ap_airstuff1, 1, 190, 0
1701, ap_seaplaland1, ap_seasplane, 1, 299, 0
1702, ap_seaplanehanger1, ap_seasplane, 1, 299, 0
1703, ap_termwindows1, ap_termwindows, 1, 299, 4
1704, ap_blastdef_01, ap_newprops1opac, 1, 299, 4
1705, ap_blastdef_03, ap_newprops1opac, 1, 299, 4
1706, air_brway_030, airgrndb, 1, 299, 0
end
Les ID seraient réajustés de 1845 dans l'ordre croissant.
Quelle est la version de Python? Et qu'est-ce que cette erreur a à voir avec la façon dont Python est "flexible"? –
Si vous utilisez les outils fournis avec Python (comme say, le module ['csv'] (http://docs.python.org/library/csv.html), c'est encore plus flexible. –