我正在尝试从另一个文件导入一个类,然后在我的main函数中实现成员函数。我真的只是想了解Python的语法,因为我仍然是该语言的新手。我的程序很简单,并不是真正意义上的。我或多或少只是试图了解Python如何解决这个问题。我的类文件名为Parser.py,这里是代码:
class Parser:
def hasMoreCommands(self):
if not c:
return false
else:
return true
我的主要功能是在一个名为jacklex.py的文件中。主函数只打开一个输入文件并将文本复制到输出文件。这是代码:
import Parser
from Parser import *
f = open('/Python27/JackLex.txt' , 'r+')
fout = open('/Python27/output.txt' , 'w')
while Parser.hasMoreCommands:
c = f.read(1)
fout.write(c)
print "All Done"
f.close()
fout.close()
我的问题是我的程序运行,但它似乎陷入无限循环。从未在ouput文件中打印任何文本,并且永远不会在Python Shell中打印“All Done”。我错过了一些必不可少的因素导致我的程序无法正常工作吗?
答案 0 :(得分:3)
Parser.hasMoreCommands
指的是(未绑定的)方法,而不是输出。它总是会评估为True
。
您需要创建解析器的实例,然后调用方法:
parser = Parser()
while parser.hasMoreCommands():
...