2011-03-11 57 views
1

我已經得到了txt文件中的文件列表,並且需要在編輯模式下檢查它們,並進行一些更改(有文檔文件),並通過WinCVS將它們重新檢入。WinCVS - Python - TCL

我知道我可以在wincvs shell中編寫tcl腳本或宏或python腳本,但是我遇到了一些問題。

我已經安裝了TCL 8.5和管理>首選項中選擇TCL DLL,TCL現在可用,但每當我鍵入並執行Tcl腳本,它說

無法找到名爲通道「標準輸出」

你對這個錯誤有什麼想法嗎?

此外,我看不到管理宏,它說殼牌不可用。我已經安裝了最新版本的python,並在首選項中選擇相關的dll。

任何人都可以通過wincvs給我一個檢查文件列表的提示嗎?

許多在此先感謝,

問候

+0

你有8.5的確切版本?即使不包括beta,仍然包含10個點的發佈...... – 2011-03-13 01:58:55

回答

1

的問題是TCL的試圖建立標準文件描述符到可供利用默認信道(即stdinstdoutstderr),但這不順心當他們沒有默認打開。當運行斷開連接時(在該平臺上的GUI應用程序內發生的情況),Windows就是這種情況。當你運行一個完整的Tcl shell,如,希望,這是可以解決的,但是你已經嵌入了,所以這不會起作用。解決問題的代碼不會運行,因爲它是shell啓動的一部分,而不是庫初始化(畢竟,替換像文件描述符這樣的流程全局資源對於沒有應用程序或用戶詢問的任何庫來說都有點不友好!到)

最簡單的解決方法是不寫stdout - 注意它的puts命令的默認目標,所以你必須要小心 - 並注意不要寫stderr要麼,因爲這下也許相同的限制(這意味着您必須小心如何捕捉錯誤,特別是在測試腳本時)。