Pythonのos.fdopen()メソッド
アウトライン
os.fdopen()メソッドは、ファイルオブジェクトファイルディスクリプタfdを作成するために使用され、ファイルオブジェクトを返します。
Unixのは、Windows上で利用可能です。
文法
fdopen()メソッドの構文は次のとおりです。
os.fdopen(fd, [, mode[, bufsize]]);
パラメータ
FD -オープンファイルディスクリプタ、Unix上で、ディスクリプタが小さい整数です。
モード-オプション、およびパラメータをBUFFERSIZE、および組み込みのopen関数はPythonのように、モードパラメータを指定することができ、「R、rは+、wは、+、+、B wは"など、ファイルが読み取り専用または読み書きをしていることをことを示しますバイナリまたはテキスト形式であり、開いているファイルが開きます。<stdio.h>これらのパラメータは、C言語とモードパラメータで指定されたのfopen関数に似ています。
BUFSIZE -返されるファイルオブジェクトバッファゾーンかどうかオプションを指定:= 0をBUFFERSIZE、その何のバッファゾーンがないことを示します。= 1をbufsizeは、ファイルオブジェクトは、ラインバッファリングであることを示す;正= 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 关闭文件成功!!