Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 27, 2011 22:14:23

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Запуск внешнего приложения. Убогая консоль Windows. Русские символы.

для консольного приложения может cp866 надо…!?

Офлайн

#2 Сен. 27, 2011 22:57:37

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Запуск внешнего приложения. Убогая консоль Windows. Русские символы.

Не этож винда - она пути в 1251 обрабатывает а сообщения в 866 :( а как семерка делает это вообще надо смотреть.

# -*- coding: cp866 -*-
import os
os.system("python фыв.py")
print "python фыв.py"
>>> python: can't open file 'фыв.py': [Errno 2] No such file or directory
>>> python фыв.py
# -*- coding: cp1251 -*-
import os
os.system("python фыв.py")
print "python фыв.py"
>>> hello
>>> python Ї√т.py
Если коротко - все работает ок в cp1251. Только сделано так чтобы ничего нельзя было на консоли прочитать.



Отредактировано (Сен. 27, 2011 23:08:55)

Офлайн

#3 Сен. 28, 2011 00:11:04

vasnake
От:
Зарегистрирован: 2011-09-05
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Запуск внешнего приложения. Убогая консоль Windows. Русские символы.

Dwarf
Python 2.7
Windows 7

Необходимо запустить внешнюю программу из Python.
Проблема 1. В пути к программе присутствуют русские символы.
Проблема 2. Программе нужно передать параметр-строку, которая представляет собой путь к другой папке (тоже с русскими символами).
Венда она такая венда. В консоли надо первым шагом сделать chcp 1251 а в скриптах использовать юникод. При необходимости принта, делать aStr.encode('cp1251'). По умолчанию консоль использует cp 866.
А лучше (чтоб не возиться с консолью) найдите редактор или IDE с поддержкой Питон. Для меня SciTE и Ecllpse+Pydev закрывают почти любые нужды.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version