파일의 고급 응용 프로그램

2253 단어

파일의 고급 응용 프로그램


읽다

  • r+t: 읽을 수 있고, 쓸 수 있다
  • w+t: 쓸 수 있고, 읽을 수 있다
  • a+t: 추가, 읽을 수 있습니다
  • ## wt
    with open('36w.txt', 'wt', encoding='utf-8') as fw:
        print(fw.readable())
        print(fw.writable())
    False
    True
    # w+t
    with open('36w.txt', 'w+t', encoding='utf-8') as fw:
        print(fw.readable())
        print(fw.writable())
    True
    True
    # r+t
    with open('36w.txt', 'r+t', encoding='utf-8') as fr:
        print(fr.readable())
        print(fr.writable())
    True
    True

    파일 내 포인터 이동


    만약에 우리가 파일 내용 중간의 어떤 줄에 내용을 추가해야 한다고 가정하면 기초적인 r/w/a 모드를 사용하면 실현하기가 매우 어렵기 때문에 우리는 파일 내의 바늘을 이동해야 한다.
    with open('36r.txt', 'r+t', encoding='utf-8') as fr:
        fr.readline()
        fr.write('nick  ')  #  

    하드디스크에 덮어쓰기, 즉 새로운 내용이 새로운 내용을 덮어쓴다는 것을 수정한 적이 없다.1.seek(offset, whence): offset은 파일 바늘의 편이량을 대표합니다. 편이량의 단위는 바이트 개수입니다.
    # seek()
    with open('36r.txt', 'rb') as fr:
        print(f"fr.seek(4, 0): {fr.seek(4, 0)}") 
        # 0 ;1 ;2 
        # fr.seek(0,2)  #  
    fr.seek(4, 0): 3

    2.tell(): 매번 통계는 파일의 시작부터 현재 포인터가 있는 위치까지
    # tell()
    with open('36r.txt', 'rb') as fr:
        fr.seek(4, 0)
        print(f"fr.tell(): {fr.tell()}")
    fr.tell(): 4

    3.read(n): 모드에서만read(n), n은 문자 개수를 대표합니다. 이외에 파일 바늘과 관련된 것은 모두 바이트 개수입니다.
    # read()
    with open('36r.txt', 'rt', encoding='utf-8') as fr:
        print(f"fr.read(3): {fr.read(3)}")
    fr.read(3): sdf

    4.truncate(n):truncate(n)는 파일을 차단하기 때문에 파일의 열기 방식은 쓸 수 있어야 하지만 w나 w+ 등으로 열 수 없습니다. 그러면 파일을 비울 수 있기 때문에truncate()는 r+나 a나 a+ 등 모드에서 효과를 테스트해야 합니다.그것의 참조물은 영원히 파일 헤더이다.그리고 truncate () 는 인자를 추가하지 않습니다. 파일을 비우는 것과 같습니다.
    # truncate()
    with open('36r.txt', 'ab') as fr:
        fr.truncate(2) 
        #  2 , 3 ,
        #  2/3 , 1/3 , 

    좋은 웹페이지 즐겨찾기