[Python] 12κ° - νμΌ
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. λ«μΌλ©΄μ μ μ₯ μλ£
- ν΄λΉ νμΌμ λ°μ΄ν°λ₯Ό μΆκ°ν μ μλλ‘ λμμ€λ€.