Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/75: Рейтинг темы: голосов - 75, средняя оценка - 4.59
1 / 1 / 3
Регистрация: 02.04.2015
Сообщений: 169

Сырые строки

24.12.2015, 02:16. Показов 13945. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как из обычной строки сделать сырую? Допустим у меня есть строка вида:
Python
1
s = "\n\t\x54Hello"
Если я ее считываю с файла например, то я нем смогу приписать r перед ней, а мне надо получить ее длину(учитывая реальную длину спец символа \n например длиной 2). У меня есть только переменная со строкой и мне надо получить точное количество символов в данной строке.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.12.2015, 02:16
Ответы с готовыми решениями:

Сырые строки в VS'12
Добрый вечер. Попытался в VS'12 написать такую конструкцию: char* path_to_image =...

Сырые сокеты
Не нашёл хорошего описания и примеров использования сырых сокетов. Можете покидать ссылочки? :3

Сырые типы
Все три нижеизложенные варианты являются сырыми типами и означают абсолютно одно и то же верно? List list1 = new...

10
 Аватар для Vigi
641 / 481 / 179
Регистрация: 28.05.2012
Сообщений: 1,419
24.12.2015, 05:51
Python
1
print(len("\\n\\t\\x54Hello"))
?

Добавлено через 20 минут
Python
1
2
3
4
with open('input.txt') as f:
    s = f.read()
 
print(len(s))
input.txt:
HTML5
1
\n\t\x54Hello
out:
PHP/HTML
1
13
1
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
24.12.2015, 07:22
bambique, если вы её считали из файла - она такой и должна быть. Спецсимволы обрабатываются интерпретатором.
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
24.12.2015, 13:49
Python
1
2
3
4
5
6
>>> s = "\n\t\x54Hello"
>>> len(s)
8
>>> s = r"\n\t\x54Hello"
>>> len(s)
13
В чем вопрос?
0
1 / 1 / 3
Регистрация: 02.04.2015
Сообщений: 169
24.12.2015, 14:48  [ТС]
Цитата Сообщение от dondublon Посмотреть сообщение
bambique, если вы её считали из файла - она такой и должна быть. Спецсимволы обрабатываются интерпретатором.
Цитата Сообщение от Vigi Посмотреть сообщение
?
Цитата Сообщение от Marinero Посмотреть сообщение
В чем вопрос?
Уже понял, но теперь не совсем понимаю вот что:
Допустим у меня есть файл со строками:
HTML5
1
2
"abc\n"
"aaa\"aaa"
После первой строки стоит ещё перевод строки(enter). Если считать этот файл с помощью readlines, то в итоге первая строка будет такая:
Python
1
'"abc\\n"\n'
Почему второй символ \n не экранируется?
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
24.12.2015, 15:59
Лучший ответ Сообщение было отмечено bambique как решение

Решение

Что значит "не экранируется"? Там символ конца строки, он вам и выводится. Всё правильно.

Да, кстати:
Цитата Сообщение от bambique Посмотреть сообщение
учитывая реальную длину спец символа \n например длиной 2
Если речь действительно о спецсимволе, то у него длина 1.
1
1 / 1 / 3
Регистрация: 02.04.2015
Сообщений: 169
24.12.2015, 17:25  [ТС]
Цитата Сообщение от dondublon Посмотреть сообщение
Что значит "не экранируется"? Там символ конца строки, он вам и выводится. Всё правильно.
Все понял, но теперь встречная проблема как из сырой строки(считанной из файла) сделать обычную. То есть я хочу заменить все \\n на \n и т.д. Я не могу это сделать с помощью регулярок и тем более replace, получаю ошибку:
EOL while scanning string literal
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
25.12.2015, 09:15
Цитата Сообщение от bambique Посмотреть сообщение
Все понял, но теперь встречная проблема как из сырой строки(считанной из файла) сделать обычную. То есть я хочу заменить все \\n на \n и т.д. Я не могу это сделать с помощью регулярок и тем более replace, получаю ошибку:
А зачем? По идее, replace должен сработать, но мне правда интересно, зачем.
0
1 / 1 / 3
Регистрация: 02.04.2015
Сообщений: 169
25.12.2015, 15:20  [ТС]
Цитата Сообщение от dondublon Посмотреть сообщение
А зачем? По идее, replace должен сработать, но мне правда интересно, зачем.
У меня есть задание:
Есть допустим строка "\x27", в ней мы явно видим 6 символов, но реальной в ней один символ - это'. Мне надо посчитать разницу, в данном примере она равна 5 символов. То есть разница между тем, что я вижу и во что преобразует строку интерпретатор. Строки в файле заданы так:
HTML5
1
2
"some str1"
"some str2"
Надеюсь я нормально объяснил задание.
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
25.12.2015, 15:38
Сурово.
Есть наивное решение - через eval. Но это, наверное, слишком сильно, может, для строк есть свои специальные методы, не в курсе.
1
1 / 1 / 3
Регистрация: 02.04.2015
Сообщений: 169
25.12.2015, 15:46  [ТС]
Цитата Сообщение от dondublon Посмотреть сообщение
Сурово.
Есть наивное решение - через eval. Но это, наверное, слишком сильно, может, для строк есть свои специальные методы, не в курсе.
Не знаю что такое eval(), буду читать, спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.12.2015, 15:46
Помогаю со студенческими работами здесь

Сырые сокеты
Всем доброго времени суток. {Target} -------- (Internet) ------ {Prov} -------- ip:91.1.2.3.4 ip:91.1.5.6 ...

сырые сокеты ощибка 10013
При создании сырого сокета получается ошибка 10013 Антивирусов не стоит, брандмауэр отключил Права админа есть В чем еще мб проблема?

Блокировка пакетов. Сырые сокеты
Задача стоит в блокировании некоторых веб-сайтов, например Вконтакте или одноклассники. Делаю через сырые сокеты SocketType.Raw. Получился...

Сырые сокеты ----> ПЭМИН, возможно?
Здравствуйте, дорогие участники форума. Я хотел бы попросить Вас об одной просьбе. Голову ломаю над решением одной задачи. В двух словах -...

Сырые (RAW) сокеты под виндой
Всем доброго времени суток, пытаюсь завести сырые сокеты под виндой, написал простенькую программу которая по петле (127.0.0.1) шлет и...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru