質問

あなたは、特にそれを理解していない場合は、

そうでもないかの単語、この質問をしすぎてください、したがって、その後、私は再び試すことができます。

私はのEXAMPLE.SQLののというファイルがあると私は私のPythonプログラムにこれをインポートしたいと思います。ここで私はいくつかのそれが含まれているものとの計算と無関係な他のことを行います。

その代わり、私は、このファイルをインポートライン・バイ・ライン、それを通過すると、私が欲しい情報を抽出するPythonのではなく、それを行うことができますか?同様に、私は、構造場合は、の.TXT の正確(それが各行に等しいで区切られたキー/値のペアあるかどうか)、それはそれをすべて、私を処理することができ、現在のPythonの方法が "ありそれに動作しますか?

役に立ちましたか?

解決

with open("example.txt") as f:
    for line in f:
        key, value = line.strip().split("=")
        do_something(key,value)

私が正しくあなたを理解していれば出発点のように見えます。あなたは、このためのPython 2.6または3.xが必要です。

見て別の場所には、カンマ区切り値ファイルを解析することができますcsvモジュールである - そしてあなたの代わりにセパレータとして=を使用するためにそれを伝えることができます。これは抽象離れて、いくつかの「手作業」の前の例のだろう - あなたの例は、特に抽象化のようなものを必要としないようです。

もう一つのアイデアます:

with open("example.txt") as f:
    d = dict([line.strip().split("=") for line in f])

今では、簡潔で神託です:)

他のヒント

for line in open("file")
    key, value = line.strip().split("=")
    key=key.strip() 
    value=value.strip() 
    do_something(key,value)

また、別の方法があります - あなたは、有効なPythonのファイルを作成することができます(それは、リスト、辞書の定義または任意の他であるとする)、使用して、その内容を読み、

f = open('file.txt', r)
content = f.read() #assuming file isn't too long

そして、それを解析します:

parsedContent = eval(content)

あなたはそう、(ドキュメントのを参照)evalにどのような環境を渡すことができますそれはあなたのグローバルや地元の人々へのアクセスを持っていない可能性があります。これは、の悪のと間違っているが、小さなプログラムで配布されないことと、ネットワークからかそこらの悪意のあるユーザーのと呼ばから「file.txtを」を得ることはありません - あなたをそれを使用することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top