Python:从其他文件导入类并实现函数

0 投票
1 回答
4857 浏览
提问于 2025-04-17 15:41

我正在尝试从另一个文件中导入一个类,然后在我的主函数中实现这个类的成员函数。其实我只是想理解一下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”。我是不是漏掉了什么重要的东西,导致我的程序无法正常工作呢?

1 个回答

3

Parser.hasMoreCommands 是指这个方法本身,而不是它的输出结果。它总是会返回 True

你需要先创建一个解析器的实例,然后再调用这个方法:

parser = Parser()

while parser.hasMoreCommands():
    ...

撰写回答