【发布时间】:2011-12-29 00:57:02
【问题描述】:
我正在尝试在 Python 3 中编写允许用户输入 .txt 文件名称的代码。然后用户输入一个关键字或短语,Python 搜索该 .txt 文件并返回该短语所在的行。此外,该程序会将一些内容写入 .html 文件,但一旦我弄清楚了这部分内容,我就可以解决这个问题。到目前为止,这是我的代码:
def main(): # Main function
list_variable = 0
search_term = 0
line = 0
links = 0 #Set list variables search and links equal to empty
print("The Great Search Engine, by Jackson Reeves")#Print Intro
filename = input("Enter name of database file: ")#Ask for filename
infile = open(filename, "r") #Use read function to read file
keyword = filename.find(input("Enter keyword to search for: "))
for line in filename.readlines():
line = line + 1
url = "http://www.aol.com"
url2 = "http://www.toyota.com"
url3 = "http://www.uky.edu"
url4 = "http://www.google.com"
url5 = "http://www.eku.edu"
url6 = "http://www.yahoo.com"
url7 = "http://www.youtube.com"
url8 = "http://www.msn.com"
#if keyword exists in file, execute these statements
p1 = ("<html>\n")
out_file = open("mypage.html", "wt")
out_file.write(p1)
p2 = ("<head><title>Search Findings</title></head>\n")
out_file.write(p2)
p3 = ("<body>\n")
out_file.write(p3)
p4 = ('<h2><p align=center>Search for "'+keyword+'"</h2>\n')
out_file.write(p4)
p5 = ("<p align=center>\n")
out_file.write(p5)
p6 = ("<table border>\n")
out_file.write(p6)
p7 = ("<tr><th>Hit<th>URL</tr>\n")
out_file.write(p7)
#if keyword is in line one, add this statement
p8 = ('<tr><td>search <b>"'+keyword+'"</b><td><a href="'+url+'"> '+url+'</a></tr>\n')
out_file.write(p8)
#if keyword is in line three, add this statement
p9 = ('<tr><td>search <b>"'+keyword+'"</b><td><a href="'+url2+'"> '+url2+'</a></tr>\n')
out_file.write(p9)
#if keyword is in line five, add this statement
p10 = ('<tr><td>search <b>"'+keyword+'"</b><td><a href="'+url3+'"> '+url3+'</a></tr>\n')
out_file.write(p10)
#if keyword is in line seven, add this statement
p11 = ('<tr><td>search <b>"'+keyword+'"</b><td><a href="'+url4+'"> '+url4+'</a></tr>\n')
out_file.write(p11)
#if keyword is in line nine, add this statement
p12 = ('<tr><td>search <b>"'+keyword+'"</b><td><a href="'+url5+'"> '+url5+'</a></tr>\n')
out_file.write(p12)
#if keyword is in line eleven, add this statement
p13 = ('<tr><td>search <b>"'+keyword+'"</b><td><a href="'+url6+'"> '+url6+'</a></tr>\n')
out_file.write(p13)
#if keyword is in line thirteen, add this statement
p14 = ('<tr><td>search <b>"'+keyword+'"</b><td><a href="'+url7+'"> '+url7+'</a></tr>\n')
out_file.write(p14)
#if keyword is in line thirteen, add this statement
p15 = ('<tr><td>search <b>"'+keyword+'"</b><td><a href="'+url8+'"> '+url8+'</a></tr>\n')
out_file.write(p15)
p16 = ("</table>\n")
out_file.write(p16)
p17 = ("</body>\n")
out_file.write(p17)
p18 = ("</html>\n")
out_file.write(p18)
out_file.close
#if no keyword exists in file, execute these statements
p19 = ("<html>\n")
out_file = open("mypage.html", "wt")
out_file.write(p19)
p20 = ("<head><title>Search Findings</title></head>\n")
out_file.write(p20)
p21 = ("<body>\n")
out_file.write(p21)
p22 = ('<h2><p align=center>Search for "'+keyword+'"</h2>\n')
out_file.write(p22)
p23 = ("<p align=center>\n")
out_file.write(p23)
p24 = ("<table border>\n")
out_file.write(p24)
p25 = ('<tr><td>'+keyword+' <td> not found </tr>\n')
out_file.write(p25)
p26 = ('</table>\n')
out_file.write(p26)
p27 = ('</body>\n')
out_file.write(p27)
p28 = ('</html>\n')
out_file.write(p28)
out_file.close
main()
【问题讨论】:
-
去掉所有与问题无关的代码。
-
听起来与家庭作业有关...?如果是,请标记它。
标签: python database string search text