Python でファイルを読み取る 4 つの異なる方法の比較
Pythonテキスト処理は、主に Pythonファイルの読み取り方法の比較に関する関連情報を紹介します。それを理解して学ぶために、必要な友達は来て、以下を見てください。
はじめに
Python にはさまざまなファイルの読み取り方法があることは誰もが知っていますが、大きなファイルを読み取る必要がある場合、読み取り方法が異なれば効果も異なります。以下に詳しい紹介を見てみましょう。
シナリオ
2.9Gの大きなファイルを一行ずつ読み込む
CPU i7 6820HQ
RAM 32G
各行のメソッド
読み取りと1 つの分割string操作を実行します
次のメソッドはすべて with...as メソッドを使用してファイルを開きます。
with ステートメントは、使用後のファイルの自動クローズ、スレッド内のロックの自動取得と解放など、使用中に例外が発生したかどうかに関係なく、必要な「クリーニング」操作が実行され、リソースが解放されるようにリソースにアクセスするのに適しています。 、など。
方法 1 ファイルを読み取る最も一般的な方法
with open(file, 'r') as fh: for line in fh.readlines(): line.split("|")
実行結果: 15.4346568584 秒かかりました
システム モニターには、メモリが突然 4.8G から 8.4G に急増したことが示されています (fh.readlines()) will 読み取られたデータのすべての行はメモリに保存されます。この方法は小さなファイルに適しています。
方法2
with open(file, 'r') as fh: line = fh.readline() while line: line.split("|")
実行結果: 22.3531990051秒かかりました
メモリ内のデータは1行しかアクセスされないため、メモリにはほとんど変化はありませんが、時間は明らかに長くなります。前回は、データをさらに処理するのは効率的ではないと言いました。
方法3
with open(file) as fh: for line in fh: line.split("|")
実行結果: 13.9956979752秒かかりました
メモリはほとんど変化がなく、方法2よりも速度が速くなります。 fh の
行は、ファイル オブジェクト fh を反復可能として扱い、バッファリングされた IO とメモリ管理を自動的に使用するため、大きなファイルについて心配する必要はありません。これは非常に Python 的な方法です。
方法4 fileinputモジュール
for line in fileinput.input(file): line.split("|")
実行結果: 26.1103110313秒かかりました
メモリは200〜300MB増加し、速度は上記で最も遅くなります。
概要
上記の方法は参照のみを目的としており、大きなファイルを読み取るために認識されている 3 つの方法が依然として最適です。ただし、具体的な状況はマシンのパフォーマンスとデータ処理の複雑さに依存します。
【関連する推奨事項】
以上がPython でファイルを読み取る 4 つの異なる方法の比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

Pytorch GPUアクセラレーションを有効にすることで、CentOSシステムでは、PytorchのCUDA、CUDNN、およびGPUバージョンのインストールが必要です。次の手順では、プロセスをガイドします。CUDAおよびCUDNNのインストールでは、CUDAバージョンの互換性が決定されます。NVIDIA-SMIコマンドを使用して、NVIDIAグラフィックスカードでサポートされているCUDAバージョンを表示します。たとえば、MX450グラフィックカードはCUDA11.1以上をサポートする場合があります。 cudatoolkitのダウンロードとインストール:nvidiacudatoolkitの公式Webサイトにアクセスし、グラフィックカードでサポートされている最高のCUDAバージョンに従って、対応するバージョンをダウンロードしてインストールします。 cudnnライブラリをインストールする:

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

MINIOオブジェクトストレージ:CENTOSシステムの下での高性能展開Minioは、Amazons3と互換性のあるGO言語に基づいて開発された高性能の分散オブジェクトストレージシステムです。 Java、Python、JavaScript、Goなど、さまざまなクライアント言語をサポートしています。この記事では、CentosシステムへのMinioのインストールと互換性を簡単に紹介します。 Centosバージョンの互換性Minioは、Centos7.9を含むがこれらに限定されない複数のCentosバージョンで検証されています。

Pytorchの分散トレーニングでは、Centosシステムでトレーニングには次の手順が必要です。Pytorchのインストール:PythonとPipがCentosシステムにインストールされていることです。 CUDAバージョンに応じて、Pytorchの公式Webサイトから適切なインストールコマンドを入手してください。 CPUのみのトレーニングには、次のコマンドを使用できます。PipinstalltorchtorchtorchvisionTorchaudioGPUサポートが必要な場合は、CUDAとCUDNNの対応するバージョンがインストールされ、インストールに対応するPytorchバージョンを使用してください。分散環境構成:分散トレーニングには、通常、複数のマシンまたは単一マシンの複数GPUが必要です。場所

PytorchをCentosシステムにインストールする場合、適切なバージョンを慎重に選択し、次の重要な要因を検討する必要があります。1。システム環境互換性:オペレーティングシステム:Centos7以上を使用することをお勧めします。 Cuda and Cudnn:PytorchバージョンとCudaバージョンは密接に関連しています。たとえば、pytorch1.9.0にはcuda11.1が必要ですが、pytorch2.0.1にはcuda11.3が必要です。 CUDNNバージョンは、CUDAバージョンとも一致する必要があります。 Pytorchバージョンを選択する前に、互換性のあるCUDAおよびCUDNNバージョンがインストールされていることを確認してください。 Pythonバージョン:Pytorch公式支店

Pythonは、自動化、スクリプト、およびタスク管理に優れています。 1)自動化:OSやShutilなどの標準ライブラリを介してファイルバックアップが実現されます。 2)スクリプトの書き込み:Psutilライブラリを使用してシステムリソースを監視します。 3)タスク管理:スケジュールライブラリを使用してタスクをスケジュールします。 Pythonの使いやすさと豊富なライブラリサポートにより、これらの分野で優先ツールになります。
