import os import word, pdf from nltk.corpus.reader.plaintext import PlaintextCorpusReader def getText(txtFileName): file = open(txtFileName, 'r') return file.read() # 새로운 corpus 폴더 생성-디렉터리 newCorpusDir = 'mycorpus/' if not os.path.isdir(newCorpusDir): os.mkdir(newCorpusDir) txt1 = getText('sample_feed.txt') txt2 = pdf.getTextPDF('sample-pdf.pdf') txt3 = word.getTextWord('sample-one-line.docx') # 세 문자열 객체의 내용을 디스크에 파일로 작성(쓰기모드) files = [txt1, txt2, txt3] for idx, f in enumerate(files): with open(newCorpusDir + str(idx) + '.txt', 'w') as fout: fout.write(f) # 파일을 저장한 디렉터리에서 plaintext 객체 생성 newCorpus = PlaintextCorpusReader(newCorpusDir, '.*') print(newCorpus.words()) #0.txt 모든 단어 출력 print(newCorpus.sents(newCorpus.fileids()[1])) #1.txt 문장 출력 print(newCorpus.sents(newCorpus.fileids()[0])) #0.txt 단락별 출력
import pdf pdfFile = 'sample-one-line.pdf' pdfFileEncrypted = 'sample-one-line.protected.pdf' print('PDF 1: \n', pdf.getTextPDF(pdfFile)) print('PDF 2: \n', pdf.getTextPDF(pdfFileEncrypted, 'tuffy'))
# 일반 텍스트 파일 읽기 함수 def getText(txtFileName): file = open(txtFileName, 'r') return file.read() # 말뭉치 폴더 생성 newCorpusDir = 'mycorpus/' if not os.path.isdir(newCorpusDir): # 말뭉치 폴더가 이미 존재하는가? os.mkdir(newCorpusDir) # 파일 읽기 # 일반 텍스트 파일 txt1 = getText('./Files/sample_feed.txt') # PDF 파일 txt2 = pdf.getTextPDF('./Files/sample-pdf.pdf') # DOCX 파일 txt3 = word.getTextWord('./Files/sample-one-line.docx') # 파일 쓰기 files = [txt1, txt2, txt3] for idx, f in enumerate(files): with open(newCorpusDir + str(idx) + '.txt', 'w') as fout: fout.write(f) # 사용자 정의 말뭉치 만들기 # 폴더 내의 모든 파일을 읽어와 파일들로부터 말뭉치를 생성한다 newCorpus = PlaintextCorpusReader(newCorpusDir, '.*') # 사용자 정의 말뭉치가 잘 만들어 졌는지 확인 print(newCorpus.words()) # 말뭉치의 모든 단어를 포함하는 배열