Python论坛  - 讨论区

标题:[python-chinese] [Ulipad]Bug Report - 在IDE中直接运行程序时标准输入会被灌进多余的一行

2007年11月28日 星期三 03:51

swordsp sparas2006在gmail.com
星期三 十一月 28 03:51:35 HKT 2007

标题说得可能不太清楚……举一个例子。
在Ulipad中运行下面的程序:
while 1:
    raw = raw_input()
    print 'raw = ', raw, len(raw)

应该是一个无限循环的echo,但事实上在Message窗口中会变成这样(依次输入1和2):

> "D:\Develop\Python25\pythonw.exe" -u
"D:\Workspace\SPOJ\sandbox\test_raw_input.py"
1
raw =  > "D:\Develop\Python25\pythonw.exe" -u
"D:\Workspace\SPOJ\sandbox\test_raw_input.py"  85
raw =  1 1
2
raw =  2 1

第一行本是IDE打出的提升信息,但也被一起灌给stdin了。

实际上是mixins.Import.RunCommand()这个方法中对Message窗口的初始化处理有问题,我把3362、3363两行改成这样:
-       win.messagewindow.editpoint = 0
-       win.messagewindow.writeposition = 0
+      win.messagewindow.editpoint = win.messagewindow.GetLength()
+      win.messagewindow.writeposition = win.messagewindow.GetLength()
结果就对了:
> "D:\Develop\Python25\pythonw.exe" -u
"D:\Workspace\SPOJ\sandbox\test_raw_input.py"
1
raw =  1 1
2
raw =  2 1


闲话1:
今天发现 http://www.spoj.pl 这个Online
Judge网站居然支持包括python在内的20多种语言,不禁手痒想重操旧业练两手,结果就发现了这个bug-_-b
有NOIer、ACMer的话可以去这里过一把python(或者scheme、haskell、ocaml――甚至brainf**k)瘾。

闲话2:
越发体会到为什么这年头web应用大行其道了,GUI程序实在是太过繁杂,今天就为了改这两行又调了半个晚上才找对地方……
也是因为我完全没有GUI程序经验,大部分时间都在漫无目的的看文档-_-b

对了,还想问一下limodou,Import.py中看起来有很多内容和mixins下的其他文件是重复的,有什么特别的考虑么?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20071128/ca5b867e/attachment.htm 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年11月30日 星期五 20:43

Chuan Qin anewrer在gmail.com
星期五 十一月 30 20:43:32 HKT 2007

用PYTHON做岂不吃亏死了……10倍c估计都不止。

在07-11-28,swordsp <sparas2006在gmail.com> 写道:

>
> 闲话1:
> 今天发现 http://www.spoj.pl 这个Online
> Judge网站居然支持包括python在内的20多种语言,不禁手痒想重操旧业练两手,结果就发现了这个bug-_-b
> 有NOIer、ACMer的话可以去这里过一把python(或者scheme、haskell、ocaml——甚至brainf**k)瘾。
>
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: http://python.cn/pipermail/python-chinese/attachments/20071130/27fc6ace/attachment.htm 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号