파이썬 os.fdopen () 메소드
개요
os.fdopen () 메소드는 파일 오브젝트 파일 기술자 fd를 만드는 데 사용하고, 파일 객체를 반환한다.
유닉스, 윈도우에서 사용할 수 있습니다.
문법
다음과 같이fdopen () 메서드 구문은 다음과 같습니다
os.fdopen(fd, [, mode[, bufsize]]);
매개 변수
FD - 열린 파일 기술자는 유닉스에서, 기술자는 작은 정수입니다.
모드 - 옵션 및 매개 변수를 BUFFERSIZE 및 내장 open 함수, 파이썬과 같은 모드 매개 변수를 지정할 수있는 "R a는, r은 +, 승 , +, A +, B 승 "등, 파일이 읽기 전용 또는 읽기 - 쓰기 것을 할 수 있습니다 나타냅니다 바이너리 또는 텍스트 형태 및 열려있는 파일이 열립니다.<STDIO.H> 이들 파라미터는 C 언어 및 상기 모드 매개 변수에 지정된 FOPEN 기능과 유사하다.
BUFSIZE - 선택 지정 반환 된 파일 객체의 완충 지대 여부 :; 파일 객체가 라인 버퍼링을 나타내는, BUFSIZE 없다 = 1 = 0 버퍼 크기, 더 완충 지대가 있음을 나타냅니다 = 긍정적 BUFSIZE 나타내는 그 지정된 크기의 버퍼 펀치의 사용 단위는 바이트이지만, 크기는 정확한 아니다 자 장치 용 시스템 기본 버퍼 사이즈의 사용은 일반적 TTY 라인 버퍼링하고, 다른 파일 일반적 완전히 버퍼링 것을 제외 = BUFSIZE.이 파라미터가 설정되지 않으면, 시스템 기본 버퍼 설정.
반환 값
파일 오브젝트 파일 기술자로 돌아왔다.
예
다음의 예는 사용 fdopen () 메서드를 보여줍니다
#!/usr/bin/python # -*- coding: UTF-8 -*- import os, sys # 打开文件 fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT ) # 获取以上文件的对象 fo = os.fdopen(fd, "w+") # 获取当前文章 print "Current I/O pointer position :%d" % fo.tell() # 写入字符串 fo.write( "Python is a great language.\nYeah its great!!\n"); # 读取内容 os.lseek(fd, 0, 0) str = os.read(fd, 100) print "Read String is : ", str # 获取当前位置 print "Current I/O pointer position :%d" % fo.tell() # 关闭文件 os.close( fd ) print "关闭文件成功!!"
위 프로그램의 출력은 다음과 같습니다
Current I/O pointer position :0 Read String is : This is testPython is a great language. Yeah its great!! Current I/O pointer position :45 关闭文件成功!!