Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,321

Опять видимо про кодировку

01.09.2021, 19:37. Показов 1486. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
здравствуйте, можно уже как-то верить увиденному?
кодом:
Python
1
2
3
4
5
6
7
8
9
10
f_name = r'c:\pythonProject\replaces.py'
 
with open(f_name, 'r', encoding='utf-8') as f_in:
    f_text = f_in.read()
    print(f'''{len(f_text)} знаков''')
    print(f'''количество строк в файле: {f_text.count(chr(10)) + 1}''')
path_to_file = f_name
with open(path_to_file) as file:
    for line in file:
        print(line)
читаю файл, я ведь своим глазам доверяю)), в нём
russianSpeaking: [/*russian speaking-русскоязычные*переменная]*/
питон валит в консоль
russianSpeaking: [/*russian speaking-русскоязычные*переменная]*/
как вылечить глаза и мозг? спс
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.09.2021, 19:37
Ответы с готовыми решениями:

Опять задачка про "Проценты"
Добрый день коллеги, смотрел старые добрые задачки и наткнулся на следующий момент: "Само условие задачки: Процентная ставка по...

И опять про Error 403: Forbidden
Скачиваю иногда картинки с creativemarket.com, как образцы работ. Написал программку, чтобы руками не кликать, но уже несколько дней как...

Опять про кодировку
При размещении сайта на хостинге столкнулся с такой бедой как изменение кодировки. Подключаю вот этот файл инклудом. <!DOCTYPE...

21
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
01.09.2021, 19:46
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
как вылечить глаза и мозг?
это к медицине

не в первый раз поднимаешь такие темы и снова объясню - 1) важно в какой кодровке сам файл. 2) важно в какой ты читаешь, если не в той то будут кракозябры/квадратики 3) важно куда ты выводишь результат - в консоль пичарма или просто в консоль винды?

обрати внимание что при втором чтении ты не указал кодировку. Зачем читать файл два раза?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
01.09.2021, 19:46
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
как вылечить глаза и мозг? спс
Даже комментировать не буду... видимо, бесполезно.
Python
1
2
3
4
5
6
7
8
9
>>> f=open("test.txt", "w",encoding="utf-8")
>>> f.write("русскоязычный текст")
19
>>> f.close()
>>> open("test.txt").read()
'русскоязычный текст'
>>> open("test.txt", encoding="utf-8").read()
'русскоязычный текст'
>>>
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,321
01.09.2021, 20:02  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
обрати внимание что при втором чтении ты не указал кодировку
да, указал и полетело, спс
Цитата Сообщение от Welemir1 Посмотреть сообщение
Зачем читать файл два раза?
да вспоминал, копировал кусочки, с разных мест, складывал....
поправил, почему не читает?
Python
1
2
3
4
5
6
7
f_name = r'c:\pythonProject\replaces.py'
with open(f_name, 'r', encoding='utf-8') as f_in:
    f_text = f_in.read()
    print(f'''{len(f_text)} знаков''')
    print(f'''количество строк в файле: {f_text.count(chr(10)) + 1}''')
    for line in f_in:
        print(line)
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
01.09.2021, 20:23
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
поправил, почему не читает?
f_in это итератор. Итераторы имеют такое свойство как "истощаемость", поэтому их нельзя использовать дважды. Второй раз он будет просто пуст.
Хотя, при чтении файлов можно переставить позицию чтения обратно на начало.

Добавлено через 3 минуты
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
>>> f=open("test.txt", encoding="utf-8")
>>> next(f)
'русскоязычный текст'
>>> next(f)
Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    next(f)
StopIteration
>>> f.seek(0)
0
>>> next(f)
'русскоязычный текст'
>>>
>>> f.read()
''
>>> f.seek(0)
0
>>> f.read()
'русскоязычный текст'
>>>
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
01.09.2021, 20:45
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
почему не читает?
потому что все уже прочел. Ты почему опять ничего не почитал? ну вот про чтение файлов например? и вот так уже сколько -год ты изучаешь питон?
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,321
01.09.2021, 20:56  [ТС]
спасибо с этим разорался
в файле массивы от js, не помню совпадают ли они с массивами питона..........
подскажите как считать данные с каждого массива?
и то что в нём слева и справа
примерная его строка
['[г\\к]', '[гольф-клуб] [груминг-клуб]'],
спс

Добавлено через 5 минут
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
слева и справа
имелось ввиду от: ', '
0
0 / 0 / 0
Регистрация: 21.07.2021
Сообщений: 8
01.09.2021, 21:46
Доброго всем дня, можно схожий вопрос прямо сюда?

для краткости, вот такой код прекрасно отрабатывает в командной строке (Win XP)
Python
1
2
3
4
# coding: utf-8
 
s='▀-█-▄'
print(s)
Но! Стоит сделать перенаправление, т.е. запустить не tst.py, а tst.py >text.txt
Как получаю ошибку
Code
1
2
....\cp1251.py", line 19, in encode 
return codecs.charmap_encode(input,self.errors,encoding_table)[0] UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-31: character maps to <undefined>
Есть какой-то способ в команде print жестко указать кодировку? (в данном случае в консоли cp866)
И почему на экран выводит не ругаясь и правильно
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
01.09.2021, 21:58
Цитата Сообщение от NiOl Посмотреть сообщение
print(s)
print(s.encode("utf-8")).
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,321
01.09.2021, 22:30  [ТС]
что-то двумя путями пробовал, не взлетело:
Python
1
2
3
import re
spl = "['[г\\к]', '[гольф-клуб] [груминг-клуб]'],"
print(re.findall(r'(?<=[).*?(?=])', spl, re.DOTALL))
пытался извлекать между [ и ]
Python
1
2
3
4
import re
spl = "['[г\\к]', '[гольф-клуб] [груминг-клуб]'],"
# 39 => одинарные кавычки - апостроф
print(re.findall(r'(?<=chr(39)).*?(?=chr(39))', spl, re.DOTALL))
пытался извлекать между ' и '
подскажите, в чём я ошибаюсь? спс
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
02.09.2021, 00:09
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
(?<=chr(39))
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,321
02.09.2021, 07:52  [ТС]
ну я пробовал и так:
Python
1
2
3
4
5
import re
spl = "['[г\\к]', '[гольф-клуб] [груминг-клуб]'],"
# 39 => одинарные кавычки - апостроф
sp = chr(39)
print(re.findall(r'(?<=sp).*?(?=sp)', spl, re.DOTALL))
не хочет, как нужно?
а по первому случаю
Квадратные скобки это метасимволы - их нужно экранировать, и - взлетело
Python
1
2
3
import re
spl = "['[г\\к]', '[гольф-клуб] [груминг-клуб]'],"
print(re.findall(r'(?<=\[)[^\[]*?(?=\])', spl, re.DOTALL))
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
02.09.2021, 09:19
Цитата Сообщение от Ципихович Эндрю
ну я пробовал и так:
Так еще смешнее.

Добавлено через 1 минуту
Вот дилемма-то! Как на питоне в строку поместить одинарные кавычки?
Вопрос на втором году изучения. Абзац.
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,321
02.09.2021, 09:37  [ТС]
воспользовался split от re и гут
осталось
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
спасибо с этим разорался
в файле массивы от js, не помню совпадают ли они с массивами питона..........
подскажите как считать данные с каждого массива?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
02.09.2021, 13:32
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
ну я пробовал и так:
Просто литерал кавычки напиши.
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,321
02.09.2021, 13:37  [ТС]
Python
1
print(re.findall(r'(?<=').*?(?=')', spl, re.DOTALL))
так? вроде пробовал.......
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
02.09.2021, 13:40
Ципихович Эндрю, я могу предположить только 1 объяснение - ты очень тонко троллишь местную публику...

ты же знаешь что в питоне можно использовать и " и '? то есть если внутри надо использовать ' то какие символы надо поставить снаружи? думай...
0
02.09.2021, 14:01

Не по теме:

Цитата Сообщение от Welemir1 Посмотреть сообщение
я могу предположить только 1 объяснение
Я могу предположить еще одно объяснение, только не хочу карту схлопотать за неуважение к участникам...

0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,321
02.09.2021, 14:33  [ТС]
разобрался, спс всем откликнувшимся
0
0 / 0 / 0
Регистрация: 21.07.2021
Сообщений: 8
03.09.2021, 14:59
Пробовал и так, и с cp866,
ошибка пропадает, но вместо строк (это процедура вывода растра в текстовом режиме),
Code
1
2
3
4
5
6
         ▄
       ▄▀
     ▄▀
   ▄▀
 ▄▀
▀
на экране выводится байтовый объект:
Code
1
2
3
4
5
6
b'         \xe2\x96\x84      '
b'       \xe2\x96\x84\xe2\x96\x80       '
b'     \xe2\x96\x84\xe2\x96\x80         '
b'   \xe2\x96\x84\xe2\x96\x80           '
b' \xe2\x96\x84\xe2\x96\x80             '
b'\xe2\x96\x80               '
а еще до вопроса встречал монструозную конструкцию
Python
1
print(s.encode().decode('utf-8', 'ignore'))
только вот результат тоже никакой.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.09.2021, 14:59
Помогаю со студенческими работами здесь

Про кодировку
Почему такой элементарный код &lt;html&gt; &lt;head&gt; &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&gt; ...

опять про ПР
Если у меня 1 страничный сайт и с index.php идут 12 локальных линков на форум, фурум я не яндексирую. Хочу удержать PR на морде, как мне...

Опять про ПР... :/
Вот у меня опять назрел вопрос, который пытаюсь уже давно выяснить... Для примера возьмем сайт на WP (все, думаю, знают, что это) ...

Вопрос про кодировку
Всем доброго времени суток Ситуевина такая - заполняю DBF файл данными из ТХТ файлика с досевой кодировкой. Все сделал, прога...

Про кодировку и консоль
По сути дела это был ответ на вопрос Nishen про кодировку и консоль. Хотел ответить вкратце, но текст получился длинным. Поэтому закинул на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru