0

我正在尝试从另一个文件导入一个类,然后在我的主函数中实现成员函数。我真的只是想了解 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()

我的问题是我的程序运行了,但它似乎陷入了无限循环。输出文件中永远不会打印任何文本,Python Shell 中也永远不会打印“All Done”。我是否遗漏了一些导致我的程序无法正常工作的重要内容?

4

1 回答 1

3

Parser.hasMoreCommands指的是(未绑定的)方法,而不是输出。它总是评估为True.

您需要创建解析器的实例,然后调用该方法:

parser = Parser()

while parser.hasMoreCommands():
    ...
于 2013-02-13T01:07:32.103 回答