我理解以下大部分代码以及除了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()的运作方式吗?
答案 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
==
现在,一句警告。您让网页的查看者直接与您的代码进行交互。如果我搜索以下条款怎么办?试一试,看看会发生什么:
.*
*