slow-tempo
  • 11. 파일 및 디렉토리 (Python file & directory)
    2024년 08월 02일 15시 22분 26초에 업로드 된 글입니다.
    작성자: slow-tempo

    directory

     

    directory는 한국말로 폴더 정도로 변역됩니다.

    absolute path (절대 경로)

    절대적인 기준(시작 폴더)으로 경유한 경로를 기입하는 방식입니다.
    ex) C:\Users\username\Desktop\file

    relative path (상대 경로)

    상대적인 기준(현제 폴더)으로 경유한 경로를 기입하는 방식입니다.
    dot(.)은 present directory(현제 폴더)의 위치를 나타냅니다.(생략가능)
    ex).\\subdirectory(하위 폴더) or file
    dot 두개(..)는 parent directory(상위 폴더)로 이동합니다
    ex)..(previous directory:상위 폴더)\subdirectory(하위 폴더) or file

     

    file

     

    data를 저장하는 입출력하는 기본적인 방법입니다.
    기본 설정경로는 relative path(상대 경로)가 적용됩니다.
    밑의 예제는 미리 data director를 생성하였습니다.

    open-close

    flie을 열고 닫습니다.
    file를 꼭 닫습니다.(메모리 관리, 데이터 손실 방지, 파일 잠김 현상 방지 등)
    variable_name=open("directory\\file","mode")-variable_name.close() 형식으로 사용합니다.
    mode: 'r'(읽기), 'w'(쓰기), 'a'(이어 쓰기) 등이 있습니다.

    f = open("DB.txt", 'w')
    pass
    f.close()

    with-open

    함수를 이용해 파일을 열고 닫습니다.
    with open("directory\\flie", "mode") as variable_name: 형식으로 사용합니다.

    with open("DB","w") as f:
        pass

    write (쓰기)

    open("directory\\filename","w") 형식으로 flie을 엽니다. file이 없다면 directory에 fliename의 명칭을 가지는 file을 새로 만듭니다.
    variable_name.write(text) 형식으로 사용합니다.

    with open("data/DB.txt","w") as f:
        data = "1번째 줄입니다.\n" 
        f.write(data)
    더보기

    1번째 줄입니다.

     

    기존을 유지하고 추가로 글을 쓰고 싶은 경우입니다.
    open("directory\\filename","a") 형식으로 flie을 엽니다. file이 없다면 error가 납니다.
    variable_name.write(text) 형식으로 사용합니다.

    with open("data/DB.txt","a") as f:
        data = "2번째 줄입니다.\n" 
        f.write(data)
    더보기

    1번째 줄입니다.
    2번째 줄입니다.

    read (읽기)

    open("directory\\filename","r") 형식으로 flie을 엽니다. file이 없다면 error가 납니다.
    variable_name.read() 형식으로 사용합니다.

    with open("data/DB.txt","r") as f:
        data = f.read()
        print(tpye(data)
        print(data)
    더보기

    <class 'str'>
    1번째 줄입니다.
    2번째 줄입니다.

    한 줄씩 읽고 싶은 경우입니다.
    file은 동일하게 엽니다.
    variable_name.readlines() 형식으로 사용합니다.

    with open("data/DB.txt","r") as f:
        lines = f.readlines()
        print(type(lines))
        for line in lines:
            print(line, end='')
    더보기

    <class 'list'>
    ['1번째 줄입니다.\n', '2번째 줄입니다.\n']

    'Python' 카테고리의 다른 글

    10. 클래스 (Python Class)  (2) 2024.07.25
    9. 함수(Python function)  (2) 2024.07.16
    8. 예외처리 (Python Exception Handling)  (0) 2024.07.12
    7. 반복문(Python Loop)  (0) 2024.07.12
    6. 조건문 (Python Conditionals)  (0) 2024.07.10
    댓글