/Users/kiddo/anaconda/lib/python3.6/site-packages/nltk/corpus/reader/wordlist.py:28 : ResourceWarning : ๋ซํ์ง ์์ ํ์ผ <_io.bufferedreader i = "4">
return concat ([self.open (f) .read () for f in fileids])
๋๋ฒ๊น ๋ชจ๋์์ ๋ฐ๊ฒฌ ํ ๊ฒฝ๊ณ ์ ๋๋ค. ๋ค์ ๋ฆด๋ฆฌ์ค ์ ์ ์์ ํ๊ณ ์ถ์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค.
์๋ ํ์ธ์,์ด ๋ฌธ์ ๋ฅผ ๋ฐ์๋ ๋ ๊น์?
@iliaschalkidis @alvations ๋ฆฌ๋ ์ค์์ ๊ฒฝ๊ณ ๋ฅผ ์ด๋ป๊ฒ ์ฌํ ํ ์ ์์ต๋๊น?
@ sks4903440 ๋ฒ์ 3.2.5๋ฅผ ์ฌ์ฉํ์ฌ ๋ช ๋ น ์ค์์ ๋ค์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ์ ์์ต๋๋ค.
test.py
import warnings
import nltk
warnings.filterwarnings('error', category=ResourceWarning)
stop_words = nltk.corpus.stopwords.words('english')
$ python test.py
๋ค์์ ๋ฐ์์ผํฉ๋๋ค.
ResourceWarning: unclosed file <_io.BufferedReader name='/Users/kiddo/nltk_data/corpora/stopwords/english'>
# 1945์์ ์์ ๋จ
Hmmm .. io.BufferedReader
์ StreamCorpusReader์ ์์ํ๋ ๊ฒ์ ํฅ๋ฏธ๋ก์ด ํด๊ฒฐ์ฑ
์ด์ง๋ง ์ปจํ
์คํธ ๊ด๋ฆฌ์ with
๋ฒ์๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ์ ์ ๋๋ก ๋ซ๋ ๊ฒ์ด ๋ ๋์ ํด๊ฒฐ์ฑ
์ผ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ Python3.6์๋ ์ด์ ๋ฒ์ ๊ณผ ๋ค๋ฅธ ํ์ผ์ ๋ํ ๋ช ๊ฐ์ง ํน๋ณํ ์๊ตฌ ์ฌํญ์ด ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ฐ๋ฆฌ๊ฐํ๊ณ ์๋ ์ผ์ด ๋จ์ํ ๋ฐ์ฐฝ๊ณ ๊ฐ ์๋์ง ํ์ธํ๊ธฐ ์ํด CPython์์ ๋ณ๊ฒฝ ๋ก๊ทธ๋ฅผ ์ฝ์ด์ผํฉ๋๋ค =)
@alvations with
๊ฒ์ ํ์คํ ์ข์ ์๊ฐ์
๋๋ค. ๋๋ ๊ทธ๊ฒ์ ํตํฉํ๋ ค๊ณ ๋
ธ๋ ฅํ ๊ฒ์
๋๋ค. CPython์์ ๊ฐ๋น์ง ์์ง๊ธฐ๋ ์ฐธ์กฐ ํ์๊ฐ 0์ด๋ฉด ์๋์ผ๋ก ํ์ผ์ ๋ซ์ผ๋ฏ๋ก ์ฌ์ฉํ์ง ์์์ต๋๋ค. ๋ํ with
๋ฌธ์ด ์๋ํ๋ ค๋ฉด io.BufferedReader
ํ๊ฑฐ๋ __enter__
๋ฐ __exit__
๋ฉ์๋๋ฅผ ๊ตฌํํด์ผํฉ๋๋ค. ๋ฌด์์ด ๋ ๋ซ๋ค๊ณ ์๊ฐํ์ญ๋๊น?
~ BufferedReader์์ ์์ํ์ง ์๊ณ ์ปจํ
์คํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ด๊ณ ๋ซ์ ๋ค์ io
๋ชจ๋์ด gc (๊ฐ๋น์ง ์์ง)๋ฅผ ์ฒ๋ฆฌํ๋๋กํ๊ธฐ ๋๋ฌธ์ enter / exit ๋ฉ์๋๋ฅผ ๊ตฌํํ ํ์๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ). ~
์ด๊ฒ์ ๊น๋ค ๋กญ์ต๋๋ค. io.BufferedReader
์๋ ์ด๋ฏธ seek()
like ํจ์๊ฐ ์์ผ๋ฉฐ SeekableUnicodeStreamReader
์ํผ __init__()
๋ฅผ ์ํํ์ง ์๊ณ ์์ ํ ๋ ์ ํํ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. BufferedReader์์ ๊ฐ์ ธ ์ค๋ ๊ฒ.
๊ทธ๋ฆฌ๊ณ ์ค์ ๋ก with
์ปจํ
์คํธ ๋ด์์ ๋ฒํผ๋ฅผ ํดํนํ์ง ์๋ ํ ํ์ ๋ฐ ์ง์ ํจ์๊ฐ ์๋ํ์ง ์๊ธฐ ๋๋ฌธ์ ์ค์ ๋ก with
๋ฅผ read()
with
์์ ๋ํ ํ ์ ์์ต๋๋ค. ํ ...
์ด๊ฒ์ ๋ํ ์์์ด ์์ต๋๊น? Python 3.6์ ๊ฑฐ์ ๋ชจ๋ ๋ฆฌ์์ค์์ NLTK 3.3์ ๋ํด ์ฌ์ ํ ๋ถํํฉ๋๋ค.
/home/user/py36/lib/python3.6/site-packages/nltk/corpus/reader/wordnet.py:1107: ResourceWarning: unclosed file <_io.BufferedReader name='/home/user/nltk_data/corpora/wordnet/lexnames'>
for i, line in enumerate(self.open('lexnames')):
/home/user/py36/lib/python3.6/site-packages/nltk/corpus/reader/wordnet.py:1159: ResourceWarning: unclosed file <_io.BufferedReader name='/home/user/nltk_data/corpora/wordnet/index.adj'>
for i, line in enumerate(self.open('index.%s' % suffix)):
/home/user/py36/lib/python3.6/site-packages/nltk/corpus/reader/wordnet.py:1159: ResourceWarning: unclosed file <_io.BufferedReader name='/home/user/nltk_data/corpora/wordnet/index.adv'>
for i, line in enumerate(self.open('index.%s' % suffix)):
/home/user/py36/lib/python3.6/site-packages/nltk/corpus/reader/wordnet.py:1159: ResourceWarning: unclosed file <_io.BufferedReader name='/home/user/nltk_data/corpora/wordnet/index.noun'>
for i, line in enumerate(self.open('index.%s' % suffix)):
/home/user/py36/lib/python3.6/site-packages/nltk/corpus/reader/wordnet.py:1159: ResourceWarning: unclosed file <_io.BufferedReader name='/home/user/nltk_data/corpora/wordnet/index.verb'>
for i, line in enumerate(self.open('index.%s' % suffix)):
/home/user/py36/lib/python3.6/site-packages/nltk/corpus/reader/wordnet.py:1209: ResourceWarning: unclosed file <_io.BufferedReader name='/home/user/nltk_data/corpora/wordnet/adj.exc'>
for line in self.open('%s.exc' % suffix):
/home/user/py36/lib/python3.6/site-packages/nltk/corpus/reader/wordnet.py:1209: ResourceWarning: unclosed file <_io.BufferedReader name='/home/user/nltk_data/corpora/wordnet/adv.exc'>
for line in self.open('%s.exc' % suffix):
/home/user/py36/lib/python3.6/site-packages/nltk/corpus/reader/wordnet.py:1209: ResourceWarning: unclosed file <_io.BufferedReader name='/home/user/nltk_data/corpora/wordnet/noun.exc'>
for line in self.open('%s.exc' % suffix):
/home/user/py36/lib/python3.6/site-packages/nltk/corpus/reader/wordnet.py:1209: ResourceWarning: unclosed file <_io.BufferedReader name='/home/user/nltk_data/corpora/wordnet/verb.exc'>
์ ์ ๋ ์์ : https://github.com/nltk/nltk/pull/2165
์๋ฃ๋ ๊ฒ์ผ๋ก ๋ณด์ด๋ ๋ ๋ค๋ฅธ ๋ฌธ์ ๋ ๋ฌธ์ ๋ฅผ ์ข ๊ฒฐํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ฌธ์ ๋ฅผ ์ ๊ธฐ ํด ์ฃผ์ ๋ชจ๋ ๋ถ๋ค๊ป ๊ฐ์ฌ ๋๋ฆฌ๋ฉฐ, ์์ ์ฌํญ์ ๋ํด
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด๊ฒ์ ๋ํ ์์์ด ์์ต๋๊น? Python 3.6์ ๊ฑฐ์ ๋ชจ๋ ๋ฆฌ์์ค์์ NLTK 3.3์ ๋ํด ์ฌ์ ํ ๋ถํํฉ๋๋ค.