Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: неправильно работает модуль os.system python 3  (Прочитано 6012 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: неправильно работает модуль os.system python 3
« Ответ #15 : 14 Июля 2010, 14:25:05 »
В терминале выполните скрипт (где 3 варианта) и дайте вывод скрипта здесь.
Я пока не понял сути проблемы.

Оффлайн bastion

  • Автор темы
  • Любитель
  • *
  • Сообщений: 94
  • Python / Qt
    • Просмотр профиля
    • Искусство креативного массажа
Re: неправильно работает модуль os.system python 3
« Ответ #16 : 14 Июля 2010, 14:43:37 »
Ну как же не понятно...
в терминале все варианты работают, а в IDLE os.system не показывает результат выполнения команды, а только "0" - ну типа команда выполнена,... я хотел узнать как бы так сделать что бы я в IDLE видел результат выполнения >:(
Я вполне доволен
os.popen('ls').read()
Готов взяться за любую работу, при условии, что за нее не нужно приниматься прямо сейчас

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: неправильно работает модуль os.system python 3
« Ответ #17 : 14 Июля 2010, 14:52:21 »
Теперь понятно.
Резюме.
IDLE перенаправляет stdout и посылает вывод stdout куда-то ... А проблем в самом питоне нет.
« Последнее редактирование: 14 Июля 2010, 14:54:49 от alexander.pronin »

Оффлайн bastion

  • Автор темы
  • Любитель
  • *
  • Сообщений: 94
  • Python / Qt
    • Просмотр профиля
    • Искусство креативного массажа
Re: неправильно работает модуль os.system python 3
« Ответ #18 : 14 Июля 2010, 15:03:38 »
Все верно, вот только единственное что в винде из-за кодировки 125*, не все так кладко выходит
только в терминале os.system выдает коректный результат (os.system('dir')), а
os.popen('dir').read() - выдает ошибку в кодировке
в IDLE по коду os.popen дописывает строки с крякозябрами...
Ну да ладно, это я переживу :)

Цитировать
По питону есть в сети хорошая книга Марка Лутца с исходными примерами.
А для начала можно прочесть первые 100 страниц книги Дениса Откидач по питону.
а может кинете пару ссылок по памяти
« Последнее редактирование: 14 Июля 2010, 15:06:01 от bastion »
Готов взяться за любую работу, при условии, что за нее не нужно приниматься прямо сейчас

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: неправильно работает модуль os.system python 3
« Ответ #19 : 14 Июля 2010, 15:12:56 »
Хорошая библиотека.
А примеры к книге Лутца можно найти гуглением.
http://www.proklondike.com/
Эта строчка должна помогать в скриптах.
# -*- coding: UTF-8 -*-

Оффлайн DnSL48

  • Активист
  • *
  • Сообщений: 286
    • Просмотр профиля
Re: неправильно работает модуль os.system python 3
« Ответ #20 : 14 Июля 2010, 15:24:48 »
os.popen('dir').read() - выдает ошибку в кодировке
в IDLE по коду os.popen дописывает строки с крякозябрами...

os.popen('dir').read().decode('cp866').encode('utf8')
ArchLinux x86_64

Оффлайн bastion

  • Автор темы
  • Любитель
  • *
  • Сообщений: 94
  • Python / Qt
    • Просмотр профиля
    • Искусство креативного массажа
Re: неправильно работает модуль os.system python 3
« Ответ #21 : 14 Июля 2010, 15:28:44 »
Цитировать
А примеры к книге Лутца можно найти гуглением.
http://www.proklondike.com/
- и на этом спасибо ... хотя 99% книг не познее 2007 г. издания, а значит о python 2.6. меня это больше собьет чем поможет
зато нашел интересную книгу по регулярным выражениям. (для меня "re" в питоне это целое искусство)  :P

Цитировать
s.popen('dir').read().decode('cp866').encode('utf8')
я наверное поторопился с ответом, надо было сначала самому внимательно разобратся с кодировкой - спасибо
Готов взяться за любую работу, при условии, что за нее не нужно приниматься прямо сейчас

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: неправильно работает модуль os.system python 3
« Ответ #22 : 14 Июля 2010, 15:44:54 »
Лутц пишет, что не надо использовать, т.к. считается устаревшим. Там все очень хорошо и понятно написано.
Питон 3 пока только-только пошел, он все почти из 2 поддерживает.
ЗЫ, Регулярные выражения на сегодняшний день лучше всего поддерживают перл и питон.
« Последнее редактирование: 14 Июля 2010, 15:53:24 от alexander.pronin »

 

Страница сгенерирована за 0.017 секунд. Запросов: 22.