glob: ํจํด ๋งค์นญ ๊ธฐ๋ฐ ํ์ผ ๋ชฉ๋ก ์ฐพ๊ธฐ
glob: ํจํด ๋งค์นญ ๊ธฐ๋ฐ ํ์ผ ๋ชฉ๋ก ์ฐพ๊ธฐ ๊ด๋ จ
Glob ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ์ผ ์์คํ
์์ ํจํด ๋งค์นญ์ ์ฌ์ฉํ์ฌ ํ์ผ ๋ชฉ๋ก์ ์ฐพ๋ Python์ ๋ด์ฅ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค. ํน์ ๊ท์น์ ๋ฐ๋ฅด๋ ํ์ผ ์ด๋ฆ์ ๊ฒ์ํ ๋ ์ ์ฉํ๋ฉฐ, ๋ณต์กํ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ์์๋ ์ํ๋ ํ์ผ์ ์ฝ๊ฒ ์ฐพ์ ์ ์๊ฒ ๋์์ค๋๋ค. Glob๋ ์ฃผ๋ก ์์ผ๋์นด๋ ๋ฌธ์(์: *
, ?
, [...]
)๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ ํจํด์ ์ง์ ํฉ๋๋ค.
Glob[1] ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฃผ์ ํจ์๋ glob.glob()
์
๋๋ค. ์ด ํจ์๋ ์ง์ ๋ ํจํด๊ณผ ์ผ์นํ๋ ๋ชจ๋ ํ์ผ ๊ฒฝ๋ก์ ๋ฆฌ์คํธ๋ฅผ ๋ฐํํฉ๋๋ค.
import glob
# ํ์ฌ ๋๋ ํ ๋ฆฌ์ ๋ชจ๋ .txt ํ์ผ ๋ชฉ๋ก์ ์ฐพ์ต๋๋ค.
for filename in glob.glob('*.txt'):
print(filename)
# ํ์ ๋๋ ํ ๋ฆฌ๋ฅผ ํฌํจํ์ฌ ๋ชจ๋ .py ํ์ผ์ ์ฐพ์ต๋๋ค.
for filename in glob.glob('**/*.py', recursive=True):
print(filename)
์ฒซ ๋ฒ์งธ ์์ ์์๋ ํ์ฌ ๋๋ ํ ๋ฆฌ์ ์๋ ๋ชจ๋ .txt
ํ์ผ์ ์ฐพ์ต๋๋ค. ๋ ๋ฒ์งธ ์์ ์์๋ **
ํจํด๊ณผ recursive=True
์ต์
์ ์ฌ์ฉํ์ฌ ํ์ฌ ๋๋ ํ ๋ฆฌ์ ๋ชจ๋ ํ์ ๋๋ ํ ๋ฆฌ์์ .py
ํ์ผ์ ์ฐพ์ต๋๋ค.
- ํ์ผ ์ ๋ฆฌ ๋ฐ ๊ด๋ฆฌ: ํน์ ํจํด์ ๊ฐ์ง ํ์ผ์ ์ฐพ์์ ์ ๋ฆฌํ๊ฑฐ๋ ์ด๋์ํฌ ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ ๋ถ์: ๋ฐ์ดํฐ ๋ถ์ ํ๋ก์ ํธ์์ ํน์ ํจํด์ ๊ฐ์ง ๋ฐ์ดํฐ ํ์ผ๋ง์ ์ ํ์ ์ผ๋ก ๋ก๋ํ๊ธฐ ์ํด ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
- ์๋ํ ์คํฌ๋ฆฝํธ: ๋ฐฑ์ , ๋ก๊ทธ ๋ถ์, ํ์ผ ์์คํ ๊ด๋ฆฌ ๋ฑ์ ์๋ํ ์คํฌ๋ฆฝํธ์์ ํน์ ํ์ผ์ ๋์์ผ๋ก ์์ ํ ๋ ํ์ฉ๋ฉ๋๋ค.
Glob ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ์ผ ์์คํ ์์ ํจํด ๊ธฐ๋ฐ์ ํ์ผ ๊ฒ์์ ๊ฐ๋จํ๊ฒ ํด์ฃผ๋ ๋งค์ฐ ์ ์ฉํ Python์ ๋ด์ฅ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ๊ฐ๋จํ API์ ์์ผ๋์นด๋ ํจํด์ ์ฌ์ฉํ์ฌ ๋ค์ํ ํ์ผ ์ฒ๋ฆฌ ์์ ์ ํจ์จ์ ์ผ๋ก ์ํํ ์ ์์ผ๋ฉฐ, ํ์ผ ๊ด๋ฆฌ ๋ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์์ ์ ์๋ํ์ ํฐ ๋์์ ์ค๋๋ค.