glob
๐ glob : ํ์ฌ/ ์ํ๋ ๋๋ ํ ๋ฆฌ์ ์๋ ํ์ผ ์ ๋ณด ์ฐพ๊ธฐ
import globโ
ํ์ฌ ๊ฒฝ๋ก์ ๋ชจ๋ ํ์ผ ์ฐพ๊ธฐ
file_list1 = glob.glob('*')
→ ํน์ ๋๋ ํ ๋ฆฌ ์์ ํ์ผ์ ์ฐพ๊ณ ์ถ๋ค๋ฉด `glob.glob('sample_data/*')`์ ๊ฐ์ด 'ํ์ผ ๊ฒฝ๋ก/ *'์ ํํ๋ก ์์ฑํ๋ฉด๋๋ค.
๐๏ธ ํ์ผ ๊ฒฝ๋ก ์ฐพ๊ธฐ์ ์ ์ฉํ ์์ผ๋ ์นด๋ ๋ฌธ์
๋๋ณด๊ธฐ
ํ์ผ ๊ฒฝ๋ก ์ฐพ๊ธฐ์ ์ ์ฉํ ์์ผ๋ ์นด๋ ๋ฌธ์
-
- * : ๋ชจ๋ ํ์ผ ๋ถ๋ฌ์ค๊ธฐ
→ * .txt : ํด๋น ๋๋ ํ ๋ฆฌ์์ ๋ชจ๋ ํ ์คํธ ํ์ผ ์ฐพ๊ธฐ - [] : ๊ดํธ ์์ ํฌํจ๋ ๋ฌธ์ ์ค ํ๋์ ์ผ์นํ๋ ํ์ผ ์ฐพ๊ธฐ
- {} : ๊ดํธ ์์ ํฌํจ๋ ๋ฌธ์์ด ์ค ํ๋์ ์ผ์นํ๋ ํ์ผ ์ฐพ๊ธฐ
- * : ๋ชจ๋ ํ์ผ ๋ถ๋ฌ์ค๊ธฐ
ํน์ ํ์ฅ์๋ฅผ ๊ฐ์ง ํ์ผ๋ง ์ฐพ๊ธฐ
file_list4 = glob.glob('*.csv')
→ ํ์ฌ ๋๋ ํ ๋ฆฌ์ ์๋ ๋ชจ๋ csv ํ์ผ ์ฐพ๊ธฐ
→ `glob.glob('sample_data/*.csv')`์ ๊ฐ์ด ๊ฒฝ๋ก๋ฅผ ์ง์ ํด๋ ๋จ!
ํ์ผ๋ช ์ ํน์ ๋จ์ด๊ฐ ๋ค์ด๊ฐ๋ ํ์ผ ์ฐพ๊ธฐ
file_list2 = glob.glob('drive')
→ ํ์ผ๋ช ์ 'drive'๊ฐ ๋ค์ด๊ฐ๋ ํ์ผ์ ๋ชจ๋ file_list2์ ์ ์ฅ
os
๐ป OS : ์ด์ ์ฒด์ ์ ์ํธ ์์ฉํ๊ธฐ ์ํ ๋ค์ํ ํจ์๋ค์ ์ ๊ณต
import osโ
- ํ์ผ ๋ฐ ๋๋ ํ ๋ฆฌ ๊ด๋ฆฌ : ํ์ผ/๋๋ ํ ๋ฆฌ ์์ฑ, ์ด๋ฆ ๋ณ๊ฒฝ, ์ญ์
- ๊ฒฝ๋ก ๊ด๋ฆฌ : ์ ๋ ๊ฒฝ๋ก, ์๋ ๊ฒฝ๋ก, ํ์ฌ ์์ ๋๋ ํ ๋ฆฌ ๋ฑ์ ๊ฒฝ๋ก๋ฅผ ๊ด๋ฆฌ
- ์คํ ๊ด๋ฆฌ : ์ธ๋ถ ํ๋ก๊ทธ๋จ์ ์คํํ๊ฑฐ๋, ํ์ฌ ํ๋ก์ธ์ค์ ์ข ๋ฃ ๋ฑ์ ์์ ์ ์ํ
์์ 1 ) ํ์ผ ๋ฐ ๋๋ ํ ๋ฆฌ ๊ด๋ฆฌ
- ํ์ฌ ์์ ๋๋ ํ ๋ฆฌ ๊ฐ์ ธ์ค๊ธฐ
cwd = os.getcwd()
print(cwd)
- ๋๋ ํ ๋ฆฌ ์์ฑ
os.mkdir('sample_data/new_directory')
- ํ์ผ ์ด๋ฆ ๋ณ๊ฒฝ
os.rename('sample_data/new_directory', 'sample_data/new_directory2')
- ํ์ผ ์ญ์
os.remove(file_adress)
os.remove('sample_data/data.csv')
์์ 2) ๊ฒฝ๋ก ๊ด๋ฆฌ
- ํ์ผ ๋ชฉ๋ก(๊ฒฝ๋ก) ๊ฐ์ ธ์ค๊ธฐ
files = os.listdir('/content')
- ๊ฒฝ๋ก ์กฐ์
path = os.path.join('/content', 'sample_data', 'mnist_test.csv')
split
๐คฒ Split : ๊ธฐ์ค์ ์ํด ๋ฌธ์์ด ๋๋๊ธฐ
๋ฌธ์์ด ๋๋๊ธฐ
- ๊ณต๋ฐฑ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด ๋๋๊ธฐ `.split( )`
sentence = "Hello, how are you doing today?"
words = sentence.split()
print(words)
## ์ถ๋ ฅ: ['Hello,', 'how', 'are', 'you', 'doing', 'today?']
- ํน์ ๊ตฌ๋ถ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด ๋๋๊ธฐ `.split('๊ตฌ๋ถ์')`
data = "apple,banana,grape,orange"
fruits = data.split(',')
print(fruits)
## ์ถ๋ ฅ: ['apple', 'banana', 'grape', 'orange']
split๊ณผ ํจ๊ป ์ฐ๋ฉด ์ข์ ํจ์
- ๋ฆฌ์คํธ์ ๊ฐ ํญ๋ชฉ์ ๋ฌธ์์ด๋ก ๊ฒฐํฉํ๊ธฐ : `.join`
๐ค join : ๋ฆฌ์คํธ์ ๊ฐ ํญ๋ชฉ์ ๋ฌธ์์ด๋ก ๊ฒฐํฉํ๊ธฐ
.join(๋ฆฌ์คํธ) '๊ตฌ๋ถ์'.join(๋ฆฌ์คํธ)
→ ๋ฆฌ์คํธ์ ๊ฐ ํญ๋ชฉ์ ๋ฌธ์์ด๋ก ๊ฒฐํฉํ๊ธฐ (๊ตฌ๋ถ์๋ฅผ ์ถ๋ ฅํ๊ณ ์ถ์ ๊ฒฝ์ฐ .join ์์ ๊ตฌ๋ถ์๋ฅผ ์ ๋ ฅ)
words = ['Hello,', 'how', 'are', 'you', 'doing', 'today?']
sentence = ' '.join(words)
print(sentence)
## ์ถ๋ ฅ: Hello, how are you doing today?
fruits = ['apple', 'banana', 'grape', 'orange']
data = ','.join(fruits)
print(data)
## ์ถ๋ ฅ: apple,banana,grape,orange
- ์ค๋ฅธ์ชฝ ๋ถํฐ split : `.rsplit()`
๐ rsplit : ๊ฐ์ฅ ์ค๋ฅธ์ชฝ์์ ์ต๋ maxsplit ๋ฒ์ ๋ถํ ์ด ์ํ
rsplit(sep=None, maxsplit=-1)โ
→ ํ์ฉ ์์ : ํ์ผ ๊ฒฝ๋ก๋ฅผ ํ์ผ๋ช ๊ณผ ๋๋ ํ ๋ฆฌ๋ก ๋๋๊ธฐ
file_path = "/usr/local/data/sample.txt"
directory, filename = file_path.rsplit('/', 1)
print("๋๋ ํ ๋ฆฌ:", directory)
print("ํ์ผ๋ช
:", filename)
## ์ถ๋ ฅ: ๋๋ ํ ๋ฆฌ: /usr/local/data
## ์ถ๋ ฅ: ํ์ผ๋ช
: sample.txt
- '/'์ ๊ธฐ์ค์ผ๋ก ์ค๋ฅธ์ชฝ์์๋ถํฐ ์ต๋ 1ํ๋ง ๋ถํ ํ๋๋ก ์ค์ ํ์ฌ file_path๋ฅผ ๊ฐ๊ฐ ํ์ผ๋ช ๊ณผ ๋๋ ํ ๋ฆฌ๋ก ๋๋ ์ค๋ค.