Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,754

Ищу модуль совместимости print между Python 3 и 2

03.01.2020, 06:56. Показов 2528. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Знает ли кто нибудь модуль, который делает возможным в третьем Python не добавлять скобки для print для кода из Python 2.x? Время от времени учусь по книжке для второй версии и копирую оттуда код для выполнения и возится каждый раз со скобками не удобно. Можно в принципе изменить строку в Path, однако может быть есть вариант в Pypi?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.01.2020, 06:56
Ответы с готовыми решениями:

print(*rr) Python 2.7
здравствуйте на строку print(*rr) в Python 2.7 ругается, как оно ранее было?, чем заменить?

Зависает модуль tkinter при использовании модуль Time || python
По приколу решил создать клик тест на питоне. При этом использовал два модуля tkinter для красоты и time для таймера. Но столкнулся с...

Python. Вывести в print все литералы
Нужно в print вывести следующий текст, сохранив все скобки и кавычки: @powershell -NoProfile -ExecutionPolicy unrestricted -Command...

22
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,301
03.01.2020, 08:24
Цитата Сообщение от supmener Посмотреть сообщение
Знает ли кто нибудь модуль, который делает возможным в третьем Python не добавлять скобки для print для кода из Python 2.x?
Нет такого модуля, используйте 2to3 https://docs.python.org/3.8/library/2to3.html
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,754
03.01.2020, 08:50  [ТС]
А как 2to3 подключать автоматически к файлам? То есть у меня есть файл в редакторе, в котором изучаю определенную тему (сейчас учу списки) и копирую туда из книги фрагменты по очереди и запускаю. Может что то куда то написать, чтобы автоматически преобразование происходило?
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
03.01.2020, 08:52
Цитата Сообщение от supmener Посмотреть сообщение
Время от времени учусь по книжке для второй версии
Возьми книгу по третьему питону.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,754
03.01.2020, 09:03  [ТС]
В книге по второму очень подробно и понятно расписано, поэтому некоторые темы сначала учу по одной маленькой книжке по третьей версии, а некоторые сложные темы в книге по второму.
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
03.01.2020, 09:06
Цитата Сообщение от supmener Посмотреть сообщение
В книге по второму очень подробно и понятно расписано
Что за книга?
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,754
03.01.2020, 09:10  [ТС]
Hello World называется. По ней функции изучал после того, как не совсем понял по первой книге.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
03.01.2020, 09:36
supmener, не в обиду, но похоже, что ты и по второй не особо фтыкаешь. Судя по последним темам.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,754
03.01.2020, 09:39  [ТС]
По функциям задавал вопросы перед чтением книги по второму.
0
 Аватар для Semen-Semenich
5226 / 3472 / 1174
Регистрация: 21.03.2016
Сообщений: 8,299
03.01.2020, 13:32
tooru, напиши сам такой модуль. если в строке есть print то значить после print ставишь скобку и в конце строки
до:
Python
1
2
a = 'Hello World'
print a
обработка:
Python
1
2
3
4
5
6
7
8
9
10
with open('test.py') as f:
    data = f.readlines()
with open('test.py', 'w') as f:
    for line in data:
        if 'print' in line:
            line = line.strip().split()
            line.insert(line.index('print')+1, '(')
            line.append(')\n')
            line = ''.join(line)
        f.write(line)
после :
Python
1
2
a = 'Hello World'
print(a)
2
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
03.01.2020, 13:53
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
напиши сам такой модуль
…и осознай, что результирующий код невалиден, поскольку в строках с print пропадают отступы. И код задевает строки, где слово print встречается в комментариях и строковых литералах. И еще некорректно обрабатываются многострочные конструкции. И даже после исправления этого вероятно останутся баги.
0
 Аватар для Semen-Semenich
5226 / 3472 / 1174
Регистрация: 21.03.2016
Сообщений: 8,299
03.01.2020, 13:59
0x10, это же не панацея а просто пример ключевая фраза 'напиши сам такой модуль' сто раз проверив и исправив все баги. он же учится программировать так чем не задание?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
03.01.2020, 14:30
Лучший ответ Сообщение было отмечено Рыжий Лис как решение

Решение

Python
1
2
3
4
5
6
7
8
Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> print(1,2)
(1, 2)
>>> from __future__ import print_function
>>> print(1,2)
1 2
>>>
Добавлено через 1 минуту
Цитата Сообщение от supmener Посмотреть сообщение
модуль совместимости
Это встроенный __future__ который добавляет возможности 3-го Python - во 2-ой.
Задним числом, так сказать.

Добавлено через 2 минуты
Обратного варианта - чтобы синтаксис второго Python работал в третьем - нет.
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,754
04.01.2020, 07:04  [ТС]
При просмотре книги автора Мэтиз Изучаем Python
заметил, что в книге Hello World тоже не все нужное по спискам написано.
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
04.01.2020, 07:06
Цитата Сообщение от supmener Посмотреть сообщение
не все нужное по спискам написано.
Чего конкретно не хватает?
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,754
04.01.2020, 07:12  [ТС]
sorted и копирования списков через [:]. Пока еще не все прочитал, дошел до кортежей.

Добавлено через 1 минуту
возможно ещё работа со списками через list и range

Добавлено через 2 минуты
еще генератора списков
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
04.01.2020, 07:20
Цитата Сообщение от supmener Посмотреть сообщение
sorted и копирования списков через [:]
Официальная документация в помощь.
sorted
Common Sequence Operations

Добавлено через 5 минут
Цитата Сообщение от supmener Посмотреть сообщение
еще генератора списков
«Hello, World» — детская книга. При объяснении генераторов списков уместна (хотя и необязательна) отсылка к нотации из теории множеств, и ничего удивительного, что они не упоминаются.
1
 Аватар для GulgDev
132 / 118 / 29
Регистрация: 09.07.2019
Сообщений: 1,071
29.01.2020, 17:36
Всё гораздо проще:
Python
1
2
import sys
sys.stdout.write('Hello world!')
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
29.01.2020, 18:02
Hyppoprogramm,
Ага, и менять во всем коде, где 100500 принтов на это?
0
 Аватар для GulgDev
132 / 118 / 29
Регистрация: 09.07.2019
Сообщений: 1,071
29.01.2020, 18:10
Garry Galler, ну тогда
Python
1
2
import sys, builtins
builtins.print = sys.stdout.write
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.01.2020, 18:10
Помогаю со студенческими работами здесь

python: command not found на команду print
Всем привет уважаемые программисты и разработчики:victory:. Начал изучать языки программирования, в частности Python, и споткнулся с самого...

Python Подскажите как сделать переход от ответа к строке print ?
print(123) print("Привет тебе дорогой") print("Как твои дела ?") number = 5 name= input( "Введите свое имя ") age = input (...

Как осуществить вывод картинки функцией print() символами в python
Вот пример нужных строк

Is there a print function to specify which part of asp page user can print from the browser?
Is there a print function to specify which part of asp page user can print from the browser???? Thanks

Ищу прошивку на модуль управления и модуль индикации стиральной машины Electrolux EWT1062TDW Прод. номер 913101358 04, Попала вода на фишку соединения индикации с модулем управления . Корот
Попала вода на фишку соединения индикации с модулем управления . Коротнул процессор STM8S207RBT6C . Есть новый проц есть программатор нужна...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru