Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 28, 2018 10:10:29

vSakhanda
Зарегистрирован: 2018-10-25
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

После изменения текстового файла, читается не правильно

Решил создать программу, которая будет в указанном текстовом файле вставлять пробелы между символами.
Вот ее код:

 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()

Но при запуске программы в текстовом файле выходит такая белеберда(картинку прикрепил).
Почему так выходит? Как это можно исправить?

Отредактировано vSakhanda (Окт. 28, 2018 10:12:05)

Офлайн

#2 Окт. 28, 2018 10:16:47

Papa_Svin
Зарегистрирован: 2018-09-17
Сообщения: 138
Репутация: +  1  -
Профиль   Отправить e-mail  

После изменения текстового файла, читается не правильно

vSakhanda
Дай угадаю. Виндовс + русские букавы, ага?

Офлайн

#3 Окт. 28, 2018 10:18:20

vSakhanda
Зарегистрирован: 2018-10-25
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

После изменения текстового файла, читается не правильно

Да, виндовс 10

Офлайн

#4 Окт. 28, 2018 10:21:05

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

После изменения текстового файла, читается не правильно

Что - то вы намудрили лишнего

 with open('1.txt', 'w') as file:
    for I in file.read():
        tra-ta-ta-

потом откройте редактором и посмотрите что вы там наколдовали.



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#5 Окт. 28, 2018 10:22:04

Papa_Svin
Зарегистрирован: 2018-09-17
Сообщения: 138
Репутация: +  1  -
Профиль   Отправить e-mail  

После изменения текстового файла, читается не правильно

 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)

Офлайн

#6 Окт. 28, 2018 10:46:21

vSakhanda
Зарегистрирован: 2018-10-25
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

После изменения текстового файла, читается не правильно

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 (Окт. 28, 2018 11:11:55)

Офлайн

#7 Окт. 28, 2018 11:19:07

vSakhanda
Зарегистрирован: 2018-10-25
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

После изменения текстового файла, читается не правильно

Papa_Svin
Если перекодировать, тогда мой способ вообще перестает работать.

У меня с латинскими символами и цифрами работает, но с русскими кодировка портится.

Отредактировано vSakhanda (Окт. 28, 2018 11:19:52)

Офлайн

#8 Окт. 28, 2018 11:19:41

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

После изменения текстового файла, читается не правильно

вы продолжаете непонимать.
покажите пример файла дои что вы хотите после



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#9 Окт. 28, 2018 11:22:01

vSakhanda
Зарегистрирован: 2018-10-25
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

После изменения текстового файла, читается не правильно

Файл 1.txt

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


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

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

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

Тут после обработки немного не так показывает

Отредактировано vSakhanda (Окт. 28, 2018 11:22:40)

Офлайн

#10 Окт. 28, 2018 11:23:51

Papa_Svin
Зарегистрирован: 2018-09-17
Сообщения: 138
Репутация: +  1  -
Профиль   Отправить e-mail  

После изменения текстового файла, читается не правильно

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

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version