不能用Python调用我的类

时间:2014-01-24 21:14:23

标签: python class call

我在python中编写一个类来修改文本文件中的一行。测试代码在单独运行时运行良好。

class fileeditor:
    def __init__ (self,a,b):
        self.a = a
        self.b = b
        self.c = 0
        print 0
    def editinputfile (self):
        return 0
        with open (self.a,"r") as my_file:
           for line in my_file:
              if line.strip():
                  self.c+=1
        self.c=self.c-2
        with open (self.a,"r") as my_file:
            lines=my_file.readlines()
            lines[self.c]= self.b
        with open (self.a,"w") as my_file:
            my_file.write(''.join(lines))
        my_file.close()

但是当我试图从另一个文件中调用它时,它不起作用。 self.a是文本文件的地址,而self.b是将覆盖文本文件中一行的字符串。

from editor import fileeditor
a=".\test.txt"
b='1 2 4 5\n'
fileeditor(a, b)

2 个答案:

答案 0 :(得分:4)

通过您给出的示例,您似乎只是在创建新实例而不是调用editinputfile方法。尝试做:

fe = fileeditor(a, b)
fe.editinputfile()

答案 1 :(得分:1)

首先,您应该删除return 0中的editinputfile。然后你也应该调用这个函数。

from editor import fileeditor
a=".\test.txt"
b='1 2 4 5\n'
myfe = fileeditor(a, b)
myfe.editinputfile()