Python Нелегальная инструкция на AIX5.2 - PullRequest
0 голосов
/ 19 марта 2010

Я запускаю свои скриптовые функции на Python так: читать из текстового файла и сохранять данные как dict. Но когда в цикле, незаконная инструкция происходит. почему это происходит? код такой:

d={}
datafile=open('a.txt') # a big text file
for line in datafile:
    line=line.rstrip('\n')
    for token in line.split():
        print("Parsing line %d." % token[0])
        d[(int(token[0]))]=token[1:]

тогда сообщение выглядит так:

Parsing line 1.
Parsing line 2.
............
Parsing line 1064
Parsing line 1065
Illegal instruction

в чем проблема? моя платформа - python 2.6.2 в AIX 5.2. пожалуйста, помогите мне, спасибо!

1 Ответ

3 голосов
/ 19 марта 2010

Это выглядит очень неправильно. token - это строка в массиве строк, возвращаемая line.split(). Итак, token[0] - первый символ этой строки. Поэтому я не верю, что вы когда-нибудь получите что-то вроде Parsing line 1065 в вашем выводе. Как писал Марк, вы увидите TypeError.

Пожалуйста, напишите

  1. реальный код
  2. реальные данные (достаточно выдержки из первых нескольких строк и строки 1065/1066)
  3. реальное сообщение об ошибке.

В противном случае вам ничем не помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...