2016-04-13 16 views
0

を使用してテキストファイルからテキスト文字列を置き換えがひどく、この上の援助を必要とする:検索とPython 3.5

f = open('/Volumes/Personal/example.text','r+') 

for line in f: 
    print(line, end='') 
    if (line.startswith("path = ")) in f: 
     line = CurrentFilePath + "\n" 
     f.write(line) 
     print ("Success!!!!") 
    else: 
     print('Errorrrr!!!') 

のコード行は、ちょうどそのファイルを読み込み、そして、すぐに読まれる必要があるラインなどと置き換えられた、それはエラーをスローする!助けてください。非常に非常にPythonの新しいです。

+0

なぜif文の 'の中で'?これはあなたが得ているエラーですか? – Francesco

+0

エラーは何ですか? – Selcuk

+0

エラーが表示されず、そのテキストファイルが読み込まれます。しかし、読み込まれる行が私が置き換えられることを期待している行である場合、それはelseブロックに行きます! –

答えて

2

あなたの問題は、あなたのif文である:

if (line.startswith("path = ")) in f: 

あなたが "=パス" で始まる行に到達すると、その行があると評価:

if True in f: 

...「doesnのどの本当に意味をなさないファイルにはブール値が含まれていません。単にin fを削除するだけでそれを回避できます。ここでは何もしません。

+0

これはうまくいきました。今すぐ?文字列が置き換えられていない場合は、それを手伝ってもらえますか? –

+0

@VighneshPaiそれは新しい質問でなければならないような音です。 – glibdud

+0

@VighneshPaiなぜあなたは*コード? –

0

fは、forinオペレータのループで、next()というループが作成されます。 inifで何をしていますか? ifの構文を確認してください。その行からin fを削除してうまくいけばうまくいきます。