Найти - Пользователи
Полная версия: Сохранения команды ping в файл.
Начало » Python для новичков » Сохранения команды ping в файл.
1 2
reclosedev
denveren0k
Пытаюсь обработать файл построчно с преобразованием line.encode('utf-8') но выдает ошибку
Вы что-то путаете. В файле данные в кодировке cp866. Их нужно декодировать в Юникод и дальше с Юникодом работать.
line = line.decode('cp866')
Или использовать codecs
with codecs.open('workfile.txt', encoding='cp866') as f:
    for line in f:
        ...
http://habrahabr.ru/post/135913/
http://docs.python.org/howto/unicode.html
denveren0k
reclosedev Вот спасибо все получилось. Теперь можно выдохнуть
Правда он все равно через опу делат немного вот скрипт перекодировки файла пинг

#!/usr/bin/env python
open_file = open('C:\\python\workfile.txt', 'r')
open_file1 = open('C:\\python\workfile1.txt', 'w')
line = open_file.readline()
for line in open_file:
    line = line.decode('cp866')
    open_file1.write(line.encode('utf-8'))
open_file.close()
open_file1.close()
Приходится два раза кодировать получается по другому выдает ошибку.
Ну да пофиг потом разберусь, спасибо все кто принимал посильно участие, в моем тупняке

py.user.next
если второй питон не обязателен, то можно поставить третий - там чтение из файла упрощено в плане кодировок
denveren0k
Попробую уже так дописать программку, если будут дальше такие же танцы с бубном поставлю 3-ий питон.
py.user.next
#!/usr/bin/env python3
 
def f():
    with open('file.txt', 'w', encoding='cp866') as fout:
        print('абвг', file=fout)
    with open('file.txt', encoding='cp866') as fin:
        line = fin.readline()
        print(line)
    with open('file.txt', 'w', encoding='utf-8') as fout:
        print('абвг', file=fout)
    with open('file.txt', encoding='utf-8') as fin:
        line = fin.readline()
        print(line)
 
if __name__ == '__main__':
    f()
 
[guest@localhost py]$ ./t.py
абвг

абвг

[guest@localhost py]$
это пример для третьего
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB