CGI / Python脚本 - 循环和显示照片的数字

时间:2013-09-05 01:30:36

标签: python cgi

我正在使用Python中的CGI脚本,我必须显示图像和名称。当您单击下一个和/或上一个时,它会显示列表中的下一个/上一个图片。

以下是我的代码:

#!/usr/bin/python

import cgi

ls = ["name1", "name2", "name3", "name4", "name5"]

print "Content-type: text/html"
print 

data = cgi.FieldStorage()

number = data.getvalue("number", "0")
int_num = int(number)

item = ls[int_num]

print """
  <table border>
    <tr> <td colspan=2 align=center> <font size=+3 color=red> %s </font> </td> </tr>
    <tr> <td align=center> <a href="/cgi-bin/09042013/lab2script1?number=%s">Previous</a>         </td>
     <td align=center> <a href="/cgi-bin/09042013/lab2script1?number=%s">Next</a> </td>
  </table>

""" % (number, int(number) - 1, int(number) + 1)

print "%s" % (item)

以下是我的问题: 1.)我如何实现一个功能,如果它到达名单的末尾,它会循环回到前面,反之亦然。我理解这将是一个简单的if语句,但是我的所有想法都会导致“服务器错误”。 2.)要使用python显示图片,我是否只使用包含图像位置的列表,就像我使用ls(名称列表)一样?

任何帮助将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:0)

为了在达到限制时旋转到列表的正面或背面,您必须替换代码:

% (number, int(number) - 1, int(number) + 1)

由:

% (number, (int(number)-1)%n, (int(number)+1)%n)

运算符“%”应用于数字的位置为您提供除法的余数。 您还应该添加以下行:

n=len(ls)

定义ls。

之后

这里,例如,当到达上边界时,5被5/5的除法的剩余部分0替换,因此该代码获得到列表开头的图的链接。当达到下边界时,这个想法是类似的。