__init__ и __str__ для обработки файлов - PullRequest
0 голосов
/ 04 октября 2019

У меня есть текстовый файл a.txt. Я хочу выполнить некоторые препроцессы, например удалить пункт. и разделить его на слова.

Я написал следующий код для выполнения нескольких операций.

class pre:
    def __init__(self,textfilepath):  
        self.textfilepath = textfilepath                            
    def __str__(self,textfilepath): 
        return str(textfilepath)                                                            
    def process(textpathfile):
        with open(textpathfile, r) as abc:
            a = abc.translate(string.maketrans("",""), string.punctuation)
            a = a.split(' ')
            return a
pre("a.txt")

Я попытался выполнить его. Но он выдал ошибку, предварительно не принимая аргументы. Может ли кто-нибудь помочь мне с этим? Спасибо всем.

1 Ответ

0 голосов
/ 04 октября 2019

Вы не должны передавать аргументы __str__. Вместо этого вы можете получить к ним доступ через свойства self:

class pre:
    def __init__(self,textfilepath):
        self.textfilepath = textfilepath

    def __str__(self):
        return self.textfilepath

    def process(self):
        with open(self.textfilepath, r) as abc:
            a = abc.translate(string.maketrans("",""), string.punctuation)
            a = a.split(' ')
            return a

p = pre("a.txt")
print(p)

filedata = p.process()
print(filedata)
...