2005年08月20日 星期六 18:52
An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050820/1b8d5936/attachment.htm
2005年08月21日 星期日 12:59
在 05-8-20,Tom<zysno1 at gmail.com> 写道: > 谢谢回复。其实我就是这么写的。但是帖上来的时候格式乱了。:) > > 我再描述一下吧。 > > if dev.get('bootproto')=="dhcp": > str_net_gentoo=str_net_gentoo+'"dhcp"\n' > else: > str_net_gentoo=str_net_gentoo+'"'+dev.get('ipaddr')+" > netmask "+dev.get('netmask')+'"\n' > > > 原来的代码就是这样的,没有报错。(原文就没有缩进) > > 然后我要修改一下,增加了两行。就是红色的两行 > if dev.get('bootproto')=="dhcp": > str_net_gentoo=str_net_gentoo+'"dhcp"\n' > modify_element(instPath, gateway_xpath, self.gateway) > else: > modify_element(instPath, gateway_xpath, self.gateway) > str_net_gentoo=str_net_gentoo+'"'+dev.get('ipaddr')+" > netmask "+dev.get('netmask')+'"\n' > > > 结果就出了问题。 > unindent does not match any outer indentation level > > > 我发现有很多的if,else都是这样写的。 > > if ***: > *** > else: > *** > > 不是说必须要缩进么。。这是什么意思阿?? > > python不用括号,改用缩进来判断有什么好处阿。。我是觉得代码可读性很差。。 > 特别是格式一乱,谁知道到底是怎么回事阿。 > > 这个问题后来我自己乱试了一通。变成这样就可以了 > > if dev.get('bootproto')=="dhcp": > > str_net_gentoo=str_net_gentoo+'"dhcp"\n' > > modify_element(instPath, gateway_xpath, self.gateway) > > else: > > modify_element(instPath, gateway_xpath, self.gateway) > > str_net_gentoo=str_net_gentoo+'"'+dev.get('ipaddr')+"netmask > "+dev.get('netmask')+'"\n' > > 就是else后面的两行再缩进一下。 > > 不知道是什么原因造成的。我用的是eclipse+pydev > > 我发信用的是thunderbird > > 因为看不到真实的情况,我猜想是tab和空格混用造成的。你可以找一个能够显示制表符和空格的编辑器,如EditPlus,看一下是用得什么缩近符就清楚了。 -- I like python! My Donews Blog: http://www.donews.net/limodou
2005年08月21日 星期日 14:20
在 05-8-21,limodou<limodou at gmail.com> 写道: > 在 05-8-20,Tom<zysno1 at gmail.com> 写道: > > 谢谢回复。其实我就是这么写的。但是帖上来的时候格式乱了。:) > > > > 我再描述一下吧。 > > > > if dev.get('bootproto')=="dhcp": > > str_net_gentoo=str_net_gentoo+'"dhcp"\n' > > else: > > str_net_gentoo=str_net_gentoo+'"'+dev.get('ipaddr')+" > > netmask "+dev.get('netmask')+'"\n' > > > > > > 原来的代码就是这样的,没有报错。(原文就没有缩进) > > > > 然后我要修改一下,增加了两行。就是红色的两行 > > if dev.get('bootproto')=="dhcp": > > str_net_gentoo=str_net_gentoo+'"dhcp"\n' > > modify_element(instPath, gateway_xpath, self.gateway) > > else: > > modify_element(instPath, gateway_xpath, self.gateway) > > str_net_gentoo=str_net_gentoo+'"'+dev.get('ipaddr')+" > > netmask "+dev.get('netmask')+'"\n' > > > > > > 结果就出了问题。 > > unindent does not match any outer indentation level > > 鬼字符的原因!! 我在很多情况中都遇到过,这好象是UE 的一个bug,经常会有空格,TAB 混合使用时,在UE中看不出,但是Python 编译不过的情况! 建议大家都设定TAB 使用4个空格替换,并使用可以看到真实空格情况的编辑器! > > 我发现有很多的if,else都是这样写的。 > > > > if ***: > > *** > > else: > > *** > > > > 不是说必须要缩进么。。这是什么意思阿?? > > > > python不用括号,改用缩进来判断有什么好处阿。。我是觉得代码可读性很差。。 > > 特别是格式一乱,谁知道到底是怎么回事阿。 > > > > 这个问题后来我自己乱试了一通。变成这样就可以了 > > > > if dev.get('bootproto')=="dhcp": > > > > str_net_gentoo=str_net_gentoo+'"dhcp"\n' > > > > modify_element(instPath, gateway_xpath, self.gateway) > > > > else: > > > > modify_element(instPath, gateway_xpath, self.gateway) > > > > str_net_gentoo=str_net_gentoo+'"'+dev.get('ipaddr')+"netmask > > "+dev.get('netmask')+'"\n' > > > > 就是else后面的两行再缩进一下。 > > > > 不知道是什么原因造成的。我用的是eclipse+pydev > > > > 我发信用的是thunderbird > > > > > > 因为看不到真实的情况,我猜想是tab和空格混用造成的。你可以找一个能够显示制表符和空格的编辑器,如EditPlus,看一下是用得什么缩近符就清楚了。 > > > -- > I like python! > My Donews Blog: http://www.donews.net/limodou > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > > -- [Time is unimportant, only life important!]
Zeuux © 2025
京ICP备05028076号