1. ํ์ผ์ ์ดํด
(1) ํ์ผ์ ์ญํ
- ์ปดํจํฐ์ ์ํด ์ฒ๋ฆฌ๋ ๋๋ ์ฒ๋ฆฌ๋ ๋ฐ์ดํฐ์ ์ ๋ณด๊ฐ ์์์ ์ผ๋ก ์ ์ฅ๋ ์ํ๋ฅผ ํ์ผ์ด๋ผ๊ณ ํ๋ค.
- ์ผ๋ จ์ ์ฐ์๋ ๋ฐ์ดํธ๋ก ๋ณผ ์ ์๊ณ , ํ๋ก๊ทธ๋จ(ํ์ด์ฌ ์์ค์ฝ๋)์ ์ฝํ ๊ฐ๊ณต ๋ฐ ์ฒ๋ฆฌ๊ฐ ํ์ผ์ ์ญํ ์ด๋ค.
(2) ํ์ผ์ ๊ตฌ์ฑ
- ํ์ผ์ ์ฐ์๋ ๋ฐ์ดํธ์ ํํ๋ก ๊ธฐ๋ก์ด ๋จ.
- ์ฐ์๋ ๋ฐ์ดํธ์ ํ์ผ์ ์์, ํ์ผ ํฌ์ธํฐ(ํ์ฌ ์์น), ํ์ผ์ ๋(EoF)๊ณผ ๊ฐ์ ์์๋ค๋ก ๊ตฌ์ฑ์ด ๋์ด์์
(3) ํ์ผ์ ์ข ๋ฅ
- ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๋ฐฉ์์ ๋ฐ๋ผ ๊ตฌ๋ถ์ด ๋๋ค. ( ๋ํ์ 2๊ฐ์ง ํ ์คํธ, ๋ฐ์ด๋๋ฆฌ )
- ๊ฐ์ฅ ํฌ๊ฒ ๊ตฌ๋ถ ํ ์ ์๋๊ฑด, ๋ฉ๋ชจ์ฅ์ผ๋ก ํด๋น ํ์ผ์ด ์ด๋ฆฌ๋ฉด ํ ์คํธ ํ์ผ ์์ด๋ฆฌ๋ฉด ๋ฐ์ด๋๋ฆฌ ํ์ผ์ด๋ค.
[1] ํ ์คํธ ํ์ผ
- ์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ฌธ์๋ก ๊ตฌ์ฑ์ด๋ ํ์ผ์ ์๋ฏธํ๋ค.
- ์ฝ๋, ์ค์ ํ์ผ, ๋ก๊ทธ ๋ฑ์ด ์์.
[2] ๋ฐ์ด๋๋ฆฌ ํ์ผ
- ์ฌ๋์ด ์ฝ๊ธฐ ์ด๋ ค์ด ์ด์ง ๋ฐ์ดํฐ๋ก ๊ตฌ์ฑ๋ ํ์ผ์ด๋ค.
- ํ ์คํธ๋ก ํด์๋์ง ์๊ณ , ํน์ ํ๋ก๊ทธ๋จ์ด ํด์์ ํด์ ์ฌ์ฉ์ ํ๋ค.
- ์ด๋ฏธ์ง, ์ค๋์ค, ์คํ ํ์ผ ๋ฑ์ด ์์. JPEG, MP3
- ์ฝ๊ฒ๋งํด, ํ ์คํธ ํ์ผ์ ์ฝ๋ ํ์ผ์ด ๋ ์ ์๊ณ , ์ปดํ์ผ๋ฌ๋ฅผ ํตํด ์ปดํ์ผ์ด ๋๋ฉด ๋ฐ์ด๋๋ฆฌ ์ฝ๋๊ฐ ๋ง๋ค์ด์ง.
- ์ ์ฉ ์คํ๊ธฐ ์ฆ, ๋ฐํ์์ ์ ๊ณตํด์ฃผ๋ ํ๋ก๊ทธ๋จ์ด ์ฝ์ด์ ๊ธฐ๊ณ์ด๋ก ๋ณํํ๋ฉฐ ํ๋ก๊ทธ๋จ์ด ์คํ๋จ.
- ์ฝ๊ฒ๋งํด, ์ด๋ฏธ์ง๋ ์ด๋ฏธ์ง ๋ณด์ฌ์ฃผ๋ ํ๋ก๊ทธ๋จ, ๋์์ ํธ์ง๊ธฐ, ๋ฑ๋ฑ ์ด๋ฌํ ํ๋ก๊ทธ๋จ๋ค์ด ๋ฐํ์์.
(4) ํ์ผ ํจ์
- ๊ฑฐ์ ๋ชจ๋ ์ธ์ด๊ฐ ํ์ผ์ ๋ค๋ฃฐ ์ ์๋ ํจ์๋ฅผ ์ ๊ณต์ ํด์ฃผ๊ณ ์์. ํ์ด์ฌ๋ ๋ง์ฐฌ๊ฐ์ง์.
- ํ์ผ์ ์์, ํ์ผ ํฌ์ธํฐ, ํ์ผ์ ๋์ ํ์ฉํ์ฌ ๋ฐ์ดํฐ ์ฝ๊ธฐ, ์ฐ๊ธฐ๋ฅผ ์ํ ํจ์ ๋ฐ ๋ฉ์๋๋ฅผ ๋ด์ฅ
- ๋ผ์ดํ ์ฌ์ดํด์ ๋ง์ถฐ ํ์ผ ๊ฐ์ฒด๋ฅผ ์์ฑ, ์ฌ์ฉ, ์ญ์ ๋ฅผ ํ ์ ์๋ค.
# ํ์ผ ๊ฐ์ฒด ์์ฑ
file_object = open("example.txt", "w")
- ๋ฌผ๋ฆฌ์ ์ธ ํ์ผ๊ณผ ์ฐ๊ฒฐ๋ ํ์ผ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ์ฐธ์กฐ๋ณ์์ ํ ๋น
- 'r' : ์ฝ๊ธฐ ์ฉ๋
- 'w' : ์๋ก์ด ํ์ผ์ ์ฐ๊ธฐ ์ฉ๋
- 'a' : ํ์ผ์ ๋์ ๋ฐ์ดํฐ๋ฅผ ๋ง๋ถ์ด๊ธฐ ์ฉ๋
(5) ํ์ผ ์ด๋ฆ
- ํ์ผ ์ด๋ฆ์๋ ํด๋น ํ์ผ์ ์ ๊ทผํ๊ธฐ ์ํ ๋ชจ๋ ์ ๋ณด๊ฐ ๋ค ๋ค์ด์์.
- ํด๋น ํ์ผ์ ํ์ฌ ์์น ์ ๋ณด ๋ํ ํ์ผ ์ด๋ฆ์ด ๊ฐ์ง๊ณ ์์. ( /var/etc/python.py ํํ )
- ํ์ผ ์ด๋ฆ์ ํ์ผ์ ๊ณ ์ ์๋ณ์ ์ญํ ๋ฐ ์ ์ฅ์ฅ์น ๋ด๋ถ์์ ํ์ผ์ ์์น๋ฅผ ํํํ๋ ํ์ผ๊ฒฝ๋ก๋ฅผ ๋ดํฌ ํ๊ณ ์์.
(6) ํ์ผ ์ฝ๊ธฐ
- ํน์ ๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ํ์ผ์์ ์ฝ๊ณ ๋ฌธ์์ด๋ก ๋ฐํํจ.
- ํ์ผ์ ์ฝ๋ ๊ณผ์ ์์ ํ์ผ ํฌ์ธํฐ๋ ๊ฐ์ด ์ด๋์ ํ๋ฉด์ ์ฝ๊ฒ ๋๋ค.
file = open("๊ฒฝ๋ก/ํ์ผ๋ช
.txt", "r") # 1. ํ์ผ์ '์ฝ๊ธฐ' ๋ชจ๋๋ก ์ถ
content = file.read() # 2. ํ์ผ ํฌ์ธํฐ๊ฐ ์ฒ์(0๋ฒ์งธ)๋ถํฐ ๋๊น์ง ์ญ ์ฝ์
file.close() # 3. ํ์ผ ๋ซ์
- open("ํ์ผ", "r")์ ํ๋ฉด ํ์ผ์ ์ด์ง๋ง, ์์ง ์ฝ์ง๋ ์๋๋ค.
- read()๋ฅผ ํธ์ถํ๋ฉด, ๊ทธ ์๊ฐ๋ถํฐ ํฌ์ธํฐ๊ฐ ํ์ผ์ ์ฒ์๋ถํฐ ๋๊น์ง ์ด๋ํ๋ฉด์ ์ฝ๋๋ค.
- ์ดํ ๋ค์ read()๋ฅผ ํ๋ฉด? ์ด๋ฏธ ํฌ์ธํฐ๊ฐ ๋์ ๊ฐ ์์ด์ ๋น ๋ฌธ์์ด์ด ๋์จ๋ค๋ ์ !
- close() ํจ์๋ฅผ ํตํด ํ์ผ์ ๋ซ์์ค์ผํ๋ค.
[1] close() ํจ์ ํธ์ถ ์ด์
- ํ์ผ ์์ฒด๋ ์ธ๋ถ ์์์ด๊ธฐ ๋๋ฌธ์ ๊ฐ๋น์ง ์ปฌ๋ ํฐ๊ฐ ์ง์์ค ์ ์์.
- ์ด์ ๋, ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ์๋๊ธฐ ๋๋ฌธ์. ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ค๋ฅธ ๊ณณ์์ ํ์ผ์ด ์ด๋ ค ์๋ ์ํ๋ก ์ ์ง๊ฐ ๋จ.
- ์ฆ, close() ํจ์ ํธ์ถ์ ํ์ง ์๊ฒ ๋๋ฉด, ๊ฒฐ๊ตญ ํ์ผ์ด ๋ซํ์ง ์๋ ์ํ๋ก ์ ์ง๊ฐ ๋์ด์๊ฒ ๋จ.
- ์ด์์ฒด์ ์๋ ํ ๋ฒ์ ์ด ์ ์๋ ํ์ผ ๊ฐ์์ ์ ํ์ด ์๊ธฐ ๋๋ฌธ์ ์์ด๋ฉด, ์๋ฌ๊ฐ ๋จ.
(7) ํ์ผ ์ฐ๊ธฐ
- ๋ฌธ์์ด์ ํ์ผ ํฌ์ธํฐ๊ฐ ์์นํ ์ง์ ์ ๊ธฐ๋ก
- w ๋ชจ๋๋ ์ค์ ๋ก ์กด์ฌํ๋ ํ์ผ์ด ์์ด, ํด๋น ํ์ผ์ด ์คํ ๋ ์ ๋ฐ์ดํฐ๊ฐ ์ญ์ ๋จ.
- ์ฆ, ์ค์ ๊ฒฝ๋ก์ ์ด๋ฏธ ํด๋น ํ์ผ์ด ์กด์ฌํ๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ๊ณ ๋ง๋ค์ด์ผํจ.
file = open("๊ฒฝ๋ก/ํ์ผ๋ช
.txt", "w") # 1. ํ์ผ์ '์ฐ๊ธฐ' ๋ชจ๋๋ก ์ถ (์์ผ๋ฉด ์์ฑ, ์์ผ๋ฉด ๋ด์ฉ ์ญ์ ๋จ)
file.write("์ฒซ ๋ฒ์งธ ์ค์
๋๋ค.\n") # 2. ๋ด์ฉ์ ํ์ผ์ ์
file.write("๋ ๋ฒ์งธ ์ค๋ ์ถ๊ฐํด์.") # 3. ๊ณ์ ์์ฑ ๊ฐ๋ฅ
file.close() # 4. ํ์ผ์ ๋ซ๊ณ , ๋ฒํผ๋ ๋ด์ฉ ์ ์ฅ๋จ
- ์ฒซ๋ฒ์งธ open์ w ๋ชจ๋๋ฅผ ์ด์ฉํ๋ฉด, ์ฐ๊ธฐ ๋ชจ๋๋ก ๊ณต๋ฐฑ์ ํ์ผ์ ์์ฑํ์ฌ ์ ์ผ ์ฒซ๋ฒ์จฐ ์์น์ ํ์ผํฌ์ธํฐ๊ฐ ๊ฐ๊ฒ๋๋ค.
- ๋ง์ฐฌ๊ฐ์ง๋ก close()๋ฅผ ํธ์ถํด์ ํ์ผ์ ๋ซ์์ค์ผ ๋ฉ๋ชจ๋ฆฌ์ ํ์ผ์ด ๋์คํฌ์ ์ ์ฅ์ด ๋๋ค.
(8) ๋ฐ์ดํฐ ์ถ๊ฐ
- ํ์ผ์ ๋์ ๋ฐ์ดํฐ๋ฅผ ๋ง๋ถ์ด๋ ์์
- ํ์ผ ์คํ ํ ํ์ผ ํฌ์ธํฐ๋ฅผ EoF(End of File : ํ์ผ์ ๋)๋ก ์ด๋
- ์กด์ฌํ์ง ์๋ ํ์ผ์ write์ ๋์ผํ๊ฒ ์๋กญ๊ฒ ๋ง๋ค์ด์ ๊ณต๋ฐฑ ์ฒซ๋ฒ์จฐ ์์น์ ํ์ผํฌ์ธํฐ
file = open("๊ฒฝ๋ก/ํ์ผ๋ช
.txt", "a") # 1. ํ์ผ์ '์ด์ด์ฐ๊ธฐ' ๋ชจ๋๋ก ์ถ (์์ผ๋ฉด ์๋ก ์์ฑ๋จ)
file.write("์ธ ๋ฒ์งธ ์ค์ด ์ถ๊ฐ๋ฉ๋๋ค.\n") # 2. ๊ธฐ์กด ๋ด์ฉ ๋ค์ ๋ง๋ถ์
file.close() # 3. ๋ซ์ผ๋ฉด์ ์ ์ฅ ์๋ฃ
- ํด๋น ํ์ผ์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ ์ ์๋๋ก ๋์์ค๋ค.
'๐ ๏ธBackend > โกPython' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] 11๊ฐ - ๋ชจ๋ (0) | 2025.04.21 |
---|---|
[Python] 10๊ฐ - ๊ฐ์ฒด์งํฅ (1) | 2025.04.18 |
[Python] 9๊ฐ - ํจ์ (0) | 2025.04.17 |
[Python] ํ์ด์ฌ ์ธํฐํ๋ฆฌํฐ(Interperter) ์ฝ๊ฒ ์ดํดํ๊ธฐ (1) | 2025.04.17 |
[Python] 7๊ฐ - ๋ฐ๋ณต ๊ตฌ์กฐ (0) | 2025.04.17 |