2017-04-18 18 views
1

bashでは、パスワードを可変形式で保存するファイルがあります。Python - ファイルから変数の値を読み取る

cat file.passwd 
password1=EncryptedPassword1 
password2=EncryptedPassword2 

は今、私はpassword1の値を使用したい場合は、これは私はbashで実行する必要があるものをすべてです。

grep password1 file.passwd | cut -d'=' -f2 

私はこれをpythonで代替する方法を探しています。単純に値を抽出する機能を提供するライブラリがありますか、それとも手動で行う必要がありますか 以下のようにしますか?

with open(file, 'r') as input: 
     for line in input: 
      if 'password1' in line: 
       re.findall(r'=(\w+)', line) 
+1

[Parse key value pairs in text file]の複製が可能です。(http://stackoverflow.com/questions/9161439/parse-key-value-pairs-in-a-text-file) –

答えて

2

は、ファイルを読み、チェックステートメントを追加します。

if line.startswith("password1"): 
    print re.findall(r'=(\w+)',line) 

コード

import re 
with open(file,"r") as input: 
    lines = input.readlines() 
    for line in lines: 
     if line.startswith("password1"): 
      print re.findall(r'=(\w+)',line) 
+0

入力行: '? ( 'input'に別の名前をつけても、組み込み関数を上書きしなかったので良いでしょう) –

+0

ここでは簡単なアプローチをとっています。別の名前を使用する必要があります。 – bhansa

0

あなたが書いたことに何も問題はありません。あなたは、コードゴルフをプレーしたい場合は:

line = next(line for line in open(file, 'r') if 'password1' in line) 
+0

line = next(パスワードを返すだけの場合は、line.strip()。split( '=')[1] for line in open( 'mout.txt'、 'r')に 'password1'行がある場合) – Chris

0

を私はこのmoduleは非常に有用であることが判明しました!生命をずっと簡単にしました。

+1

ソリューションにリンクのみを追加することを検討しないでください。削除される可能性があります。 – bhansa

関連する問題