検索
ホームページバックエンド開発Python チュートリアルPython で ConfigParser を使用して ini 構成ファイルを解析する例

ini ファイルは、Windows で一般的に使用される構成ファイルです。主な形式は次のとおりです。

コードをコピー コードは次のとおりです:

[セクション1]
オプション 1 : 値 1
オプション 2 : 値 2

Python には、このフォームと同様のファイルを解析するために使用できる単純なモジュール ConfigParser が用意されています。 ConfigParser モジュールは key:value や key=value などの型を解析でき、# と; で始まる行は自動的に無視されます。コメント行に相当します。よく使用される関数:
コードをコピー コードは次のとおりです:

ConfigParser.RawConfigParser()

RawConfigParser オブジェクトの操作は次のとおりです:

.sections() : 利用可能なすべてのセクションを返します
.addsection(セクション名): セクションを追加
.set(セクション名, オプション名, オプション値): オプション
を追加します .hassection(セクション名): 判決
.options(セクション名): セクション
で使用可能なオプションを返します。 .hasoption(セクション名, オプション名): 判定
.read(filename): ファイルを読み取ります
.wrie(filename) : RawConfigParser オブジェクトをファイル
に書き込みます .get(セクション名, オプション名): 値を取得します。デフォルトでは文字列型
が返されます。 .getfloat、.getint、.getboolean: さまざまなタイプの戻り値を取得します。パラメーターは get
のパラメーターと同じです。 .items(セクション名): セクションの下のすべてのキーをリストします: value
.remove(セクション名): セクションを削除
.remove(セクション名, オプション名): セクションの下のオプション
を削除します


デモ -- ファイルの生成
コードをコピー コードは次のとおりです:

$ cat ini_demo.py
# -*- コーディング:utf-8 -*-

ConfigParser をインポート

def gen_ini():
ftest = open('test','w')
config_write = ConfigParser.RawConfigParser()
config_write.add_section('セクション_a')
config_write.add_section('セクション_b')
config_write.add_section('Section_c')
config_write.set('Section_a','option_a1','apple_a1')
config_write.set('セクション_a','オプション_a2','バナナ_a2')
config_write.set('セクション_b','オプション_b1','apple_b1')
config_write.set('セクション_b','オプション_b2','バナナ_b2')
config_write.set('セクション_c','オプション_c1','apple_c1')
config_write.set('セクション_c','オプション_c2','バナナ_c2')
config_write.write(ftest)
ftest.close()

if __name__ == "__main__":
gen_ini()


最終的に生成されるファイルは次のとおりです:
コードをコピー コードは次のとおりです:

$猫テスト
[セクション_a]
オプション_a1 = リンゴ_a1
オプション_a2 = バナナ_a2

[セクション_c]
オプション_c2 = バナナ_c2
オプション_c1 = apple_c1

[セクション_b]
オプション_b1 = アップル_b1
オプション_b2 = バナナ_b2
デモ -- ファイルを読み取ります

def read_ini():
config_read = ConfigParser.RawConfigParser()
config_read.read('test')
config_read.sections() を印刷します
Print config_read.items('Section_a')
Print config_read.get('Section_a','option_a1')


最終結果は次のようになります:
コードをコピー コードは次のとおりです:

['セクション_a'、'セクション_c'、'セクション_b'】
[('option_a2', 'banana_a2'), ('option_a1', 'apple_a1')]
apple_a1
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PythonスクリプトがUNIXで実行されない可能性がある一般的な理由は何ですか?PythonスクリプトがUNIXで実行されない可能性がある一般的な理由は何ですか?Apr 28, 2025 am 12:18 AM

PythonスクリプトがUNIXシステムで実行できない理由には、次のものが含まれます。1)CHMOD XYOUR_SCRIPT.PYを使用して実行権限を付与する不十分な権限。 2)shebangラインが正しくないか欠落している場合、#!/usr/bin/envpythonを使用する必要があります。 3)環境可変設定が誤っていない場合、OS.Environデバッグを印刷できます。 4)間違ったPythonバージョンを使用して、Shebangラインまたはコマンドラインでバージョンを指定できます。 5)仮想環境を使用して依存関係を分離する依存関係の問題。 6)構文エラー、python-mpy_compileyour_script.pyを使用して検出します。

Pythonアレイを使用することがリストを使用するよりも適切なシナリオの例を挙げてください。Pythonアレイを使用することがリストを使用するよりも適切なシナリオの例を挙げてください。Apr 28, 2025 am 12:15 AM

Pythonアレイの使用は、リストよりも大量の数値データの処理に適しています。 1)配列を保存するメモリを保存します。2)アレイは数値的な値で動作するのが高速です。3)アレイフォースタイプの一貫性、4)アレイはCアレイと互換性がありますが、リストほど柔軟で便利ではありません。

Pythonでリストと配列を使用することのパフォーマンスへの影響は何ですか?Pythonでリストと配列を使用することのパフォーマンスへの影響は何ですか?Apr 28, 2025 am 12:10 AM

listSareのより良い前提条件とmixdatatypes、whilearraysares優れたスナリカル計算砂の砂を大きくしたデータセット。

Numpyは、大きな配列のメモリ管理をどのように処理しますか?Numpyは、大きな配列のメモリ管理をどのように処理しますか?Apr 28, 2025 am 12:07 AM

numpymanagesmemoryforlargearrayseffictificleusing biews、copies、andmemory-mappedfiles.1)rewsinging withotingcopying、directmodifying theoriginalArray.2)copiescanbecreatedwithcopy()methodforpreservingdata.3)Memory-MapplehandLemassiutasedatasetasedatasetasetasetasetasetasedas

モジュールのインポートが必要なのはどれですか:リストまたは配列は?モジュールのインポートが必要なのはどれですか:リストまたは配列は?Apr 28, 2025 am 12:06 AM

listsinpythondonotrequireimportingamodule、whilearrays fromthearraymoduledoneedanimport.1)listsarebuiltin、versatile、andcanholdmixeddatypes.2)araysaremoremory-efficient-fornumerumerumerumerumerumerdatabutでき、対象となるンドベフェフサメタイプ。

どのデータ型をPythonアレイに保存できますか?どのデータ型をPythonアレイに保存できますか?Apr 27, 2025 am 12:11 AM

Pythonlistscanstoreanydatatype,arraymodulearraysstoreonetype,andNumPyarraysarefornumericalcomputations.1)Listsareversatilebutlessmemory-efficient.2)Arraymodulearraysarememory-efficientforhomogeneousdata.3)NumPyarraysareoptimizedforperformanceinscient

Pythonアレイに間違ったデータ型の値を保存しようとするとどうなりますか?Pythonアレイに間違ったデータ型の値を保存しようとするとどうなりますか?Apr 27, 2025 am 12:10 AM

heouttemptemptostoreavure ofthewrongdatatypeinapythonarray、yure counteractypeerror.thisduetothearraymodule'sstricttypeeencultionyを使用します

Python Standard Libraryの一部はどれですか:リストまたは配列はどれですか?Python Standard Libraryの一部はどれですか:リストまたは配列はどれですか?Apr 27, 2025 am 12:03 AM

PythonListSarePartOfThestAndardarenot.liestareBuilting-in、versatile、forStoringCollectionsのpythonlistarepart。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません