2016-09-21 4 views
0

私は少し問題があります。私はPythonで解決できません。このコードコマンドにはあまり慣れていません。私。例えばPython - 連続した数字のある特定の文字列の後ろに行を追加する

、私はこのようなテキストファイルがある場合:

Indicate somename X1 value = 500 
Random qwerty 
Indicate somename X2 value = 500 
random azerty 
Indicate somename X3 value = 500 
random qwertz 
Indicate somename X4 value = 500 
random asdfg 
Indicate somename X5 value = 500 

私はすでに試した:

Indicate somename X1 
Random qwerty 
Indicate somename X2 
random azerty 
Indicate somename X3 
random qwertz 
Indicate somename X4 
random asdfg 
Indicate somename X5 

を、私はこのように、特定の値のそれの後ろを取得するスクリプトを作成したいと思いますこのようなスクリプト:

def replace_score(file_name, line_num, text): 
f = open(file_name, 'r') 
contents = f.readlines() 
f.close() 

contents[line_num] = text+"\n" 

f = open(file_name, "w") 
contents = "".join(contents) 
f.write(contents) 
f.close() 

replace_score("file_path", 10, "replacing_text") 

しかし、私はそれが欲しかったように働くことができませんでした。

私は

挨拶、 '再' モジュール

などを使用して

答えて

0
with open('sample') as fp, open('sample_out', 'w') as fo: 
    for line in fp: 
     if 'Indicate' in line: 
      content = line.strip() + " = 500" 
     else: 
      content = line.strip() 
     fo.write(content + "\n") 
+0

ありがとう、これは私のためにうまく動作します。 私は既に%dコマンドを使用してnumberの値500を表示しています。 しかし私が次に行うべきことは、それらの値がそれぞれの値ごとに異なっていなければならないので、配列にすべてのそれらの「idicate somename X」を置くことです、そしてそれらの100のカップルがあります、それは私の次の挑戦です。 – Mennoo

0
with open('/tmp/content.txt') as f: # where: '/tmp/content.txt' is the path of file 
    for i, line in enumerate(f.readlines()): 
     line = line.strip() 
     if not (i % 2): 
      line += ' value = 500' 
     print line.strip() 
# Output: 
Indicate somename X1 value = 500 
Random qwerty 
Indicate somename X2 value = 500 
random azerty 
Indicate somename X3 value = 500 
random qwertz 
Indicate somename X4 value = 500 
random asdfg 
Indicate somename X5 value = 500 
0

、誰かが私を助けることができると思います。インプレース入力ファイルを変更する必要がしたい場合は

if re.match(r'Indicate somename [A-Z][0-2]', line): 
    modified = line.strip() + ' value = XXX' 

、 読み取りエントリは、バッファバックつながる書くことでファイルを。

+0

[A-Z]コマンドが存在することを知っておけ!いずれかの数字は私がそれを知らなかった非常に興味深いものです。 100種類の異なる「表示するsomename」に異なる値を与える方法がある可能性はありますか? – Mennoo

関連する問題