到目前为止我所拥有的:
def FileSearch(filename, items):
try:
filehandle = open( filename, "r" )
linenumber = 0
for line in filename:
linenumber +=1
for item in items:
if item in line:
print("%2i - %s" %( linenumber, line), end="")
except IOError:
print("Error file cannot be read or file does not exist")
print("Please try again")
我试图打印以亚麻布为单位的行,其中包含列表中包含的任何字符串'项目'。所以它会输出这样的东西:
>>>FileSearch("textfile",["this","and","is"])
2 - this is the 2nd line
4 - hello and goodbye
5 - this is a very basic example
但是当我运行该程序时,我甚至没有收到错误,没有任何反应只会运行到下一行。 我很感激任何帮助。 我还想知道是否有一种方法可以按数字顺序打印线条,还是程序会在这里自行完成?
答案 0 :(得分:4)
您没有获得输出,也没有输出错误,因为您不是在文件的行上进行迭代,而是在MainWindow
的字符上进行迭代。改变这一行:
filename
对此:
for line in filename: