Ce code, je travaille avec ce qui vient de la programmation pratique:process_file (sys.argv [1]) IndexError: liste des index hors de portée
import sys
def process_file(filename):
'''Open, read, and print a file.'''
input_file = open(filename, "r")
for line in input_file:
line = line.strip()
print line
input_file.close()
if __name__ == "__main__":
process_file(sys.argv[1])
Après l'importation de ce module en IDLE et passer un texte l'argument limer process_file(), je reçois cette erreur:
Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
process_file("data.txt")
File "C:\Python26\read_file_2.py", line 14, in process_file
process_file(sys.argv[1])
IndexError: list index out of range
Comment puis-je obtenir ce programme de travail sans recevoir cette erreur? Toute aide est appréciée.
Est-ce 'sys.argv [0]' ou 'sys.argv [1]'? Tu n'es pas très cohérent. ;) Si c'est 1, je suppose qu'il n'y a pas de paramètre passé. – Bobby
Tout d'abord, s'il vous plaît envoyez le code réel qui provoque l'erreur - notez que vous avez 'sys.argv [1]' dans votre code, mais 'sys.argv [0]' dans votre traceback. Deuxièmement, s'il vous plaît assurez-vous que votre indentation est correcte dans votre code posté - c'est encore plus important dans Python, où les espaces sont importants. –
Mon mauvais, j'avais expérimenté avec changer le code à sys.argv [0] et ai copié le mauvais message d'erreur. l'a édité. – Timmay