一点小经验

先看这两段用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就可以避免这样的错误发生。

千万不要小看这个空格,这可是我两天的心血,按书上的程序一个字不差的抄下来,为什么就是不能用呢?网上搜书上查就是找不到错误出在哪,两天时间几乎什么没干。最后一个很偶然的机会,发现光标移动到那个空行时候它不是停在最左端,于是抱着试试看的态度按了下退格,保存,再运行,终于成功了。一点小经验,不敢独享,拿来与大家分享。也许大家早已知道,那就全当给自己找点成就感,给自己的前行加一把油。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值