一点小经验
2007-04-15 00:12
246 查看
先看这两段用python写的CGI代码:
#第一段
def printHeader(title):
print """Content-type: text/plain
<html>
<head><title>%s</title><head>
<body>"""%title
......
#第二段
def printHeader(title)
print """Content-type: text/plain/n
<html>
<head><title>%s</title><head>
<body>"""%title
......
两段程序看上去实现的功能是一样的,都是输出一个html标头,然后是一个空行,然后是输出标题。但是实现的方法有一点区别,第一段程序是用一个空白的行来输出空行,第二段程序是用一个换行符输出一个空行。问题即将出现:大家知道,python是用缩进来标识代码的分块,因此一些python的IDE里就加入了自动进行缩进的功能,第一行出现了def,那么第二行IDE就会自动缩进一个特定的长度。在第一段程序中,输出标头后回车,这时的光标应该是与print对齐的,如果这个时候你直接又敲进去一个回车,进行一下条语句的输出,那么错误就发生了,html标头后应该是一个空行,但是这段程序中它不是空的,它是包含若干个空格字符串的行,因此就会报错。所以在进行CGI编程时应尽量采用第二种形式,在输出标头后直接加上/n就可以避免这样的错误发生。
千万不要小看这个空格,这可是我两天的心血,按书上的程序一个字不差的抄下来,为什么就是不能用呢?网上搜书上查就是找不到错误出在哪,两天时间几乎什么没干。最后一个很偶然的机会,发现光标移动到那个空行时候它不是停在最左端,于是抱着试试看的态度按了下退格,保存,再运行,终于成功了。一点小经验,不敢独享,拿来与大家分享。也许大家早已知道,那就全当给自己找点成就感,给自己的前行加一把油。
#第一段
def printHeader(title):
print """Content-type: text/plain
<html>
<head><title>%s</title><head>
<body>"""%title
......
#第二段
def printHeader(title)
print """Content-type: text/plain/n
<html>
<head><title>%s</title><head>
<body>"""%title
......
两段程序看上去实现的功能是一样的,都是输出一个html标头,然后是一个空行,然后是输出标题。但是实现的方法有一点区别,第一段程序是用一个空白的行来输出空行,第二段程序是用一个换行符输出一个空行。问题即将出现:大家知道,python是用缩进来标识代码的分块,因此一些python的IDE里就加入了自动进行缩进的功能,第一行出现了def,那么第二行IDE就会自动缩进一个特定的长度。在第一段程序中,输出标头后回车,这时的光标应该是与print对齐的,如果这个时候你直接又敲进去一个回车,进行一下条语句的输出,那么错误就发生了,html标头后应该是一个空行,但是这段程序中它不是空的,它是包含若干个空格字符串的行,因此就会报错。所以在进行CGI编程时应尽量采用第二种形式,在输出标头后直接加上/n就可以避免这样的错误发生。
千万不要小看这个空格,这可是我两天的心血,按书上的程序一个字不差的抄下来,为什么就是不能用呢?网上搜书上查就是找不到错误出在哪,两天时间几乎什么没干。最后一个很偶然的机会,发现光标移动到那个空行时候它不是停在最左端,于是抱着试试看的态度按了下退格,保存,再运行,终于成功了。一点小经验,不敢独享,拿来与大家分享。也许大家早已知道,那就全当给自己找点成就感,给自己的前行加一把油。
相关文章推荐
- 一点开发经验分享
- 关于tomcat的一点人生经验:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
- ASP.NET与ASP互通COOKIES的一点经验
- 机子中毒了,一点小经验和大家分享一下!
- 英文投稿的一点经验
- h.264 视频解码的一点小经验
- 安卓代码混淆的一点经验
- Windows 7上成功安装Oracle 10g的一点经验
- 在redhat Linux9下安装Oracle9.2.0的一点经验
- jQuery-Ajax的一点小经验
- 初学J2ME的一点经验 --构造方法前不能有void
- 关于装双系统的一点经验!
- openMP的一点使用经验
- twitter工程师的一点经验
- 记录一点开发经验
- WIN2003服务器端安全配置的一点简单经验
- 关于android中建立socket连接的一点小经验
- PHP 导出Excel一点小经验 解决乱码问题
- fopen操作视频yuv文件的一点实践经验
- 关于学习CCNA的一点经验总结