需要Python CGI / RE帮助

时间:2016-11-15 16:53:51

标签: python html python-3.x cgi html-form

我理解以下大部分代码以及除了if re.search(str(searchString), line) != None:行之外的其他代码 - 它靠近底部。

代码接受用户在另一个HTML表单上输入的字符串,然后运行此python脚本以检查文件,如果输入的字符串/单词在该文件中,然后打印所有带有单词的行。

import cgi, re

print ('Content-type: text/html \n')
print ('<html>')
print ('<head>')
print ('<title>Web Client Server File Search Example </title>')
print ('</head>')
print ('<body>')
print ("<H1>Search Text Example </H1>")

form = cgi.FieldStorage() 
searchString = form.getvalue('search')   
print("<br><H2 style='color:red;'> Search String: ", searchString)
fh = open("animals.txt")
fhdatalist = fh.readlines()

for line in fhdatalist:
    line = line.rstrip()
    if re.search(str(searchString), line) != None:
        print ('<br>Line Found: ', line)

fh.close()

有人可以简单解释一下它/ search()的运作方式吗?

1 个答案:

答案 0 :(得分:0)

searchString = form.getvalue('search')   

此行获取在HTML页面上的表单中输入的搜索值

if re.search(str(searchString), line) != None:

此行获取animals.txt文件中的每一行,并检查是否在该行中找到了搜索词。如果找到,则打印来自animals.txt的那一行。

re是python正则表达式解析器,它非常强大,你应该检查出来!

Python2.7:https://docs.python.org/2/library/re.html

Python3.5:https://docs.python.org/3/library/re.html

==

现在,一句警告。您让网页的查看者直接与您的代码进行交互。如果我搜索以下条款怎么办?试一试,看看会发生什么:

.*
*