2013-05-13 3 views
1

Я разбор файла с питоном и для цикла перерывов на характере, что в Notepad ++ выглядит следующим образомСтранный персонаж в перерывах файлов для цикла молча

©SUB0 

моей петля просто

for line in open('myfile.dat').readlines(): 
    print line 
    print x 
    x+=1 

Ошибка отсутствует, файл py просто завершает работу.

Что мне делать, чтобы пропустить этот символ?

+4

Является ли файл двоичным файлом? Если это так, вы можете попробовать сделать 'open ('myfile.dat', 'rb')' для открытия в виде двоичного файла. – BrenBarn

+0

Как вы управляете файлом python? Вы дважды щелкаете по нему в проводнике Windows или с помощью командной строки? – Blckknght

+0

@BrenBarn, вот и все, спасибо :). Пожалуйста, разместите его как ответ, чтобы я мог его принять – Jask

ответ

3

Является ли файл двоичным файлом? Если это так, вы можете попробовать сделать open('myfile.dat', 'rb'), чтобы открыть его как двоичный. Если вы открываете текст, символ конца файла может заставить его прекратить чтение преждевременно.

1

Это происходит потому, что персонаж, с которым вы сталкиваетесь, является substitute character. Этот символ заменяет символ, который не может быть прочитан или напечатан на вашем устройстве (что бы это ни значило в вашем случае).

Его представление: 26 (ASCII), SUB, 0x1a (hex) и^Z.

Это не ошибка Pythons, так как каждый язык программирования прерывается здесь. Его исторический недостаток и его можно избежать, не используя его в файле.

Как предлагает пользователь BrenBarn, попробуйте разобрать его как двоичный файл, если это возможно.

Смежные вопросы