Pythonのfdとはどういう意味ですか?

爱喝马黛茶的安东尼
リリース: 2020-07-10 17:21:53
オリジナル
31165 人が閲覧しました

ファイル記述子 (fd) は、システム内で現在開かれているファイルを一意に記録するために使用される識別番号です。fd は整数です。

ファイル オブジェクトに加えて、Python は fd に対する操作も提供します。fd に対する操作はより低レベルです。Python の fd オブジェクトとファイル オブジェクトは異なる概念です。ファイル オブジェクトの導入時に説明したように、 f.fileno() を呼び出すとファイル オブジェクトの fd を取得できます。また、既存の fd にファイル オブジェクトをカプセル化することもできます (f = os.fdopen(fd))。

Pythonのfdとはどういう意味ですか?

#いくつかの fd は、プロセスの作成時に事前に割り当てられます:

0——プロセスの標準入力

1 - プロセスの stdout

2 - プロセスの stderr

Python の os モジュールは、fd に次のメソッドを提供します。

1. fd

os.close(fd)
ログイン後にコピー

2. fd

os.dup(fd)
ログイン後にコピー

をコピーします。新しい fd1 を返します。この fd1 はコピーされます。パラメータ fd.

3. fd をコピーします

os.dup2(fd, fd2)
ログイン後にコピー

fd を fd2 にコピーします。fd2 がすでに開いている場合は、最初に閉じます。

4. fd からファイル オブジェクトへ

os.fdopen(fd, mode='r', bufsize=-1)
ログイン後にコピー

fd をカプセル化する Python ファイル オブジェクトを返します。パラメータ mode と bufsize は、組み込みの open() 関数に対応します。パラメータは同じ意味を持ちます。

5. fd

os.fstat(fd)
ログイン後にコピー

からファイルのさまざまな属性を取得し、stat_result タイプのインスタンス x と os.stat(path) を返します。返される型は同じですが、対応するファイルの関連属性が fd を通じて取得される点が異なります。

6. fd

os.lseek(fd, pos, how)  
ログイン後にコピー

に対応するファイルの現在位置を変更します。効果は f.seek(pos, how) と同じで、パラメーター how を指定します。参照点は全部で3種類あり、os.SEEK_SET == 0(ファイルの先頭)、os.SEEK_CUR == 1(現在位置)、os.SEEK_END == 2(ファイルの末尾)です。

##f.tell() に似たものはありません この方法では、fd を使用してファイルの現在位置を直接取得できます。実際、os.lseek() を使用して自分で実装することもできます。

は、現在の fd に対応するファイルの位置を返すことができ、影響を受ける元のファイルは変更されません。

7. ファイルを開いて、fd

os.lseek(fd, 0, os.SEEK_CUR)
ログイン後にコピー
を取得します。

以上がPythonのfdとはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート