Найти - Пользователи
Полная версия: После изменения текстового файла, читается не правильно
Начало » Python для новичков » После изменения текстового файла, читается не правильно
1 2
vSakhanda
Решил создать программу, которая будет в указанном текстовом файле вставлять пробелы между символами.
Вот ее код:

 file = open('1.txt', 'r')
read = file.read()
c = ''
for i in read:
	c += read[read.index(i)] + ' '
file = open('1.txt', 'w')
file.write(c)
file.close()

Но при запуске программы в текстовом файле выходит такая белеберда(картинку прикрепил).
Почему так выходит? Как это можно исправить?
Papa_Svin
vSakhanda
Дай угадаю. Виндовс + русские букавы, ага?
vSakhanda
Да, виндовс 10
ZerG
Что - то вы намудрили лишнего
 with open('1.txt', 'w') as file:
    for I in file.read():
        tra-ta-ta-

потом откройте редактором и посмотрите что вы там наколдовали.
Papa_Svin
 import codecs
with codecs.open(filename,'r',encoding='cp1251') as f:
    text = f.read()
# process Unicode text
with codecs.open(filename,'w',encoding='cp1251') as f:
    f.write(text)
vSakhanda
ZerG
 c = ''
with open('1.txt', 'r') as file:
	read = file.read()
	for i in read:
		c += read[read.index(i)] + ' '
file = open('1.txt', 'w')
file.write(c)
file.close()

Сделал вашим способом, если не ошибаюсь. Проблема осталась.
Я бы прикрепил картинки, но не знаю как тут это сделать
vSakhanda
Papa_Svin
Если перекодировать, тогда мой способ вообще перестает работать.

У меня с латинскими символами и цифрами работает, но с русскими кодировка портится.
ZerG
вы продолжаете непонимать.
покажите пример файла дои что вы хотите после
vSakhanda
Файл 1.txt

Выможетеиспользоватьвстроеннуюфункциюdir,чтобыполучитьсписокидентификаторов,которыеобъектопределяет.Таквчислоидентификаторовмодулявходятфункции, классы и переменные, определённые в этом модуле. Когда вы передаёте функции dir() имя модуля, она возвращает список имён, определённых в этом модуле. Если никакого аргумента не передавать, она вернёт список имён, определённых в текущем модуле.


Файл 1.txt после обработки программой

⃂⃻⃦⃥⃬⃮⃲⃥⃨⃱⃫⃯⃮⃼⃮⃧⃢⃠⃲⃼⃢⃱⃲⃥⃮⃭⃭⃰⃳⃾⃴⃳⃪⃭⃶⃨⃾⁤⁩⁲‬⃷⃲⃮⃡⃻⃫⃯⃮⃳⃷⃨⃲⃼⃱⃯⃨⃱⃪⃮⃨⃤⃥⃭⃲⃨⃴⃪⃨⃠⃲⃮⃮⃰⃢‬⃪⃮⃲⃮⃰⃻⃥⃮⃡⃺⃥⃪⃲⃥⃮⃯⃰⃤⃥⃫⃿⃥⃲‮⃒⃠⃪⃢⃷⃨⃱⃫⃮⃨⃤⃥⃭⃲⃨⃴⃪⃨⃠⃲⃮⃮⃰⃢⃬⃮⃤⃳⃫⃿⃢⃵⃮⃤⃿⃲⃴⃳⃪⃭⃶⃨⃨‬†⃪⃫⃠⃱⃱⃻†⃨†⃥⃥⃥⃯⃬⃭⃭⃰⃻⃥‬†⃥⃮⃯⃰⃤⃥⃫₸⃭⃭⃻⃥†⃢†⃽⃲⃮⃬†⃬⃮⃤⃳⃫⃥‮†⃊⃮⃣⃤⃠†⃢⃻†⃥⃥⃯⃰⃤⃠₸⃲⃥†⃴⃳⃪⃭⃶⃨⃨†⁤⁩⁲

†⃨⃬⃿†⃬⃮⃤⃳⃫⃿‬†⃮⃭⃠†⃢⃮⃧⃢⃰⃠⃹⃠⃥⃲†⃱⃯⃨⃱⃪⃮†⃨⃬₸⃭‬†⃥⃮⃯⃰⃤⃥⃫₸⃭⃭⃻⃵†⃢†⃽⃲⃮⃬†⃬⃮⃤⃳⃫⃥‮†⃅⃱⃫⃨†⃪⃭⃨⃠⃪⃮⃣⃮†⃠⃰⃣⃳⃥⃬⃭⃲⃠†⃥⃭†⃥⃥⃯⃰⃤⃠⃢⃠⃲⃼‬†⃮⃭⃠†⃢⃥⃭⃰₸⃲†⃱⃯⃨⃱⃪⃮†⃨⃬₸⃭‬†⃥⃮⃯⃰⃤⃥⃫₸⃭⃭⃻⃵†⃢†⃲⃥⃪⃳⃹⃥⃬†⃬⃮⃤⃳⃫⃥‮†

Тут после обработки немного не так показывает
Papa_Svin
ZerG
вы продолжаете непонимать.
покажите пример файла дои что вы хотите после
Мне кажется, это ты не понимаешь. Программа у товарища вполне рабочая, и делает ровно то, что ТС от неё хочет - перезаписывает файл добавляя пробелы между символами. Проблема тут (краказябры в файле) исходит наверняка из кодировки.
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