WinCVS - Python - TCL

У меня есть список файлов в текстовых файлах, и мне нужно проверить их в режиме редактирования, внести некоторые изменения (есть текстовые документы) и проверить их обратно через WinCVS.

Я знаю, что могу писать сценарии tcl или макросы, или сценарии python в оболочке wincvs, но у меня есть некоторые проблемы с ними.

Я установил TCL 8.5 и выбрал tcl DLL в Admin> Настройки, теперь доступен tcl, но всякий раз, когда я печатаю и выполняю tcl-скрипт, он говорит

не могу найти канал с именем "stdout"

Есть ли у вас какие-либо идеи относительно этой ошибки?

Кроме того, я не могу видеть макросы администратора, это говорит, что Shell не доступна. Я установил последнюю версию Python и выбрать соответствующий DLL в настройках.

Может ли кто-нибудь дать мне подсказку для проверки списка файлов через wincvs?

Спасибо заранее,

С уважением

1 ответ

Решение

Проблема в том, что Tcl пытается встроить стандартные файловые дескрипторы в каналы, доступные по умолчанию (т. Е. stdin, stdout а также stderr) но это идет не так, когда они не открываются по умолчанию. Это имеет место в Windows, когда выполняется отключение (что происходит в приложениях с графическим интерфейсом на этой платформе). Когда вы работаете с полной оболочкой Tcl, такой как wish, это обходится, но вы встроены, так что это не сработает; код для исправления неполадок не запускается, потому что он является частью запуска оболочки, а не инициализации библиотеки (в конце концов, замена глобально-технологического ресурса, такого как файловые дескрипторы, немного недружелюбна для любой библиотеки, когда приложение или пользователь не просят об этом к!)

Самый простой обходной путь - не писать в stdout - обратите внимание, что это место назначения по умолчанию puts команда, поэтому вы должны быть осторожны - и заботиться, чтобы не писать в stderr либо, поскольку это, вероятно, при тех же ограничениях (что означает, что вы должны быть осторожны, как вы ловите ошибки, особенно при тестировании вашего скрипта).

Другие вопросы по тегам