2013-07-04 4 views
4

프로그램에 읽는 파일의 이름이 아래와 같은 문자열을 포함하고 있는지 확인하는 방법을 찾으려고합니다. 그것이 올바른 방법인지 확실하지 않습니다. 당신은 check_word_type()를 호출하지 않는파일 이름에 문자열이 포함되어 있는지 확인하십시오. 파이썬

def check_word_type(self, filename): 
    words = ['noun','verb','vrb','adj','adv'] #I am not sure if adj and adv are variables 
    self.word_type = '' 
    for i in words: 
     if i in filename: 
      self.word_type = str(i) #just make sure its string 

    return self.word_type 

답변

8

이 시도 어떤 도움이 좋을 것 전역 변수가 될 것입니다 어딘가에. 시도 :

def process_file(self): 
    self.filename = "noun.txt" 
    self.file = open(self.filename, "r") 
    self.check_word_type(self, self.filename) 
    return self.file, self.filename 
0

을 : 나는 프로그램

class Wordnet(): 

    def __init__(self): 
     self.graph = Graph() 
     self.filename = '' 
     self.word_type = '' 

    def process_file(self): 
     self.filename = "noun.txt" 
     self.file = open(self.filename, "r") 
     return self.file, self.filename 

    def check_word_type(self, filename): 
     if 'noun' in filename: 
      self.word_type = 'noun' 
     elif 'verb' in filename: 
      self.word_type = 'verb' 
     elif 'vrb' in filename: 
      self.word_type = 'verb' 
     elif adj in filename: 
      self.word_type = 'adj' 
     elif adv in filename: 
      self.word_type = 'adv' 
     else: 
      self.word_type = '' 
     return self.word_type 

if __name__ == '__main__': 
    wordnet = Wordnet() 
    my_file = wordnet.process_file() 
    print wordnet.word_type 

에서 나중에 사용할 필요로 문자열

관련 문제