νμ¬μμ λλΆλΆ μ 무λ ν¨μλ¨μ λλ ν΄λμ€ λ¨μμ νλ‘κ·Έλλ° μ 무λ₯Ό μμ£Ό μ νκ² λ©λλ€.
- λ μλ₯Ό λνλ ν¨μλ₯Ό μ μν΄ λ΄ λλ€.
- ν¨μλ₯Ό λ°λ‘ νμ΄μ¬μΌλ‘ μ μ₯νκ³ importν΄μ μ¬μ©νλ λ°©λ²μ μ€μ΅ν©λλ€.
__main__μ μ€λͺ ν©λλ€.
λͺ¨λ νμ¬λ νλ‘μ νΈλ₯Ό μ§νν©λλ€. κ·Έλ° μλ―Έμμ μλ μμ λ μ€λ¬΄μμ νμ μ‘΄μ¬ν μ λ°μ μλ μμ μ λλ€. νλ‘μ νΈλ₯Ό λΆλ¬μ€λ κ°λ¨ν ν¨μλ₯Ό νλ λ§λ€μ΄ λ³΄κ² μ΅λλ€.
λͺ¨λ νμ¬μμ κ°μ₯ λ§μ΄ μ¬μ©νλ ν¨μλ νμ¬μμ μ§νμ€μΈ νλ‘μ νΈ λ¦¬μ€νΈλ₯Ό κ°μ§κ³ μ€λ λ°©λ²μ λλ€. νμ¬λ§λ€ μ‘°κΈμ© λ€λ₯΄κ² μ§λ§ μΌλ°μ μΌλ‘ 2κ°μ§ κ²½μ°κ° μ‘΄μ¬ν©λλ€.
- ν΄λμμ νλ‘μ νΈλ₯Ό κ°μ§κ³ μ€λ λ°©λ²
- DBμμ νλ‘μ νΈλ₯Ό κ°μ§κ³ μ€λ λ°©λ²
μ€λ μ°λ¦¬λ ν΄λμμ νλ‘μ νΈλ₯Ό κ°μ§κ³ μ€λ λ°©λ²μ λ€λ£Ήλλ€.
λλΆλΆμ λͺ¨λ νμ¬λ νλ‘μ νΈ λͺ©λ‘μ κ°μ§κ³ μ€λ ν¨μ νλμ―€μ λ΄λΆμ μμ±λμ΄ μμ νλ₯ μ΄ λμ΅λλ€. νμ¬μμ /project ν΄λ λ΄λΆμμ λͺ¨λ νλ‘μ νΈκ° μ§νλλ€κ³ κ°μ μ νκ³ νλ‘μ νΈ λ¦¬μ€νΈλ₯Ό κ°μ§κ³ μ€λ ν¨μλ₯Ό μ μν΄λ³΄κ² μ΅λλ€.
λ¨Όμ / κ²½λ‘μ project ν΄λλ₯Ό μ μν΄λ³΄κ² μ΅λλ€. /project λ΄λΆλ μμΌλ‘λ κ΄λ¦¬μκ° μλ μΌλ° μ¬μ©μκ° νμν ν΄λλ₯Ό λ§λ€ μ μμ΄μΌ νκΈ° λλ¬Έμ μ¬μ©μ κΆνμ μΆκ°νμ΅λλ€. λν /project ν΄λ λ΄λΆμ circle,rectangle,triangle νλ‘μ νΈ ν΄λλ μμ±νκ² μ΅λλ€. κ΄λ ¨λ λͺ
λ Ήμ΄λ μλμ κ°μ΅λλ€.
λ¨Όμ νλ‘μ νΈ ν΄λλ₯Ό μμ±ν΄ λ΄ μλ€.
$ su
# cd /
# mkdir project
# chmod 775 project
# chown root:$USER project
# exit
$ cd project
$ mkdir circle
$ mkdir rectangle
$ mkdir triangleνλ‘μ νΈ λ¦¬μ€νΈλ₯Ό κ°μ§κ³ μ€λ ν¨μλ₯Ό μ§λ κ²μ κ°λ¨ν©λλ€.
#coding:utf8
import os
def Projects():
"""
Projects ν¨μλ νλ‘μ νΈ λͺ©λ‘μ 리μ€νΈλ‘ λ°ννλ€.
"""
return os.listdir("/project")
if __name__ == '__main__':
print(Projects())νμ§λ§ μ ν¨μμλ λ¨μ μ΄ μμ΅λλ€. ν΄λκ° μλ νμΌκΉμ§ μ λΆ νλ‘μ νΈλ‘ μΈμνλ€λ μ μ λλ€. ν΄λλ§ νλ‘μ νΈλ‘ μΈμνκΈ° μν΄μλ μλμ²λΌ ν΄λ ννκ° λ§λμ§ μ²΄ν¬νλ μ½λκ° νμν©λλ€.
#coding:utf8
import os
def Projects():
"""
Projects ν¨μλ νλ‘μ νΈ λͺ©λ‘μ 리μ€νΈλ‘ λ°ννλ€.
"""
plist = []
for i in os.listdir("/project"):
if not os.path.isdir("/project/"+i):
continue
plist.append(i)
return plist
if __name__ == '__main__':
print(Projects())μ°λ¦¬λ μμ£Ό κ°λ¨νκ² νλ‘μ νΈλ¦¬μ€νΈλ₯Ό κ²½λ‘λ₯Ό ν΅ν΄μ κ°μ§κ³ μ€λ ν¨μλ₯Ό μ μνμ΅λλ€. νμ¬μ μ‘΄μ¬νλ μλ§μ μλ², OSμ λ°λΌμ νλ‘μ νΈλ₯Ό κ°μ§κ³ μ€λ λ°©λ²μ νμ¬λ§λ€ μ‘°κΈμ© λ€λ₯΄κ² μ§λ§ 컨μ μ μΈμ λ λΉμ·ν©λλ€.
μ¬μ€ μμ μκ°λ νλ‘μ νΈ λ¦¬μ€νΈλ₯Ό κ°μ§κ³ μ€λ μ½λλ νμ¬ μ 체μμ λκ΅°κ° νλͺ μ΄ μμ± κ³΅μ νκ³ νμ¬ μ 체μ λ€λ₯Έ νλ‘κ·Έλλ¨Έλ€μ΄ μ¬μ©ν μ μλλ‘ κ΄λ¦¬νλ©΄ λ€λ₯Έ νλ‘κ·Έλλ¨Έλ€μ΄ λ°λ³΅ν΄μ λ§λ€μ§ μμλ λλ ν¨μμ λλ€. νμ¬λ΄μμ νμν μ½λλ₯Ό 곡μ νλ λ¬Ένκ° λ μ€μν©λλ€. μ¬λ¬λΆμ΄ νμ¬μμ 무μΈκ°λ₯Ό λ§λ€ λ μ΄λ―Έ κ·Έ κΈ°λ₯μ΄ μ΄λ―Έ μ‘΄μ¬νλ μ½λμΈμ§ νμ 체ν¬νλ μ΅κ΄μ λ€μ΄μΈμ.
νμ¬μ λ€μν μλ², μ 리λμ§ μμ ν΄λλ€μ΄ λ§μ΄ μ‘΄μ¬νλ©΄ Path κ΄λ ¨ λΌμ΄λΈλ¬λ¦¬λ₯Ό λ¨Όμ λ§λ€κ³ κ·Έ λΌμ΄λΈλ¬λ¦¬λ₯΄ ν΅ν΄μ κ²½λ‘λ₯Ό μμ±ν νμκ° μμ΅λλ€.
λ€μμκ°μμλ Python Classλ₯Ό λ€λ£¨λ©΄μ μ΄λ»κ² νμ¬κ° κ²½λ‘κ·μΉμ μ격νκ² μ§ν¬ μ μλμ§ μμλ³΄κ² μ΅λλ€.