私はを作成しようとしていますは、ファイル内に何らかのテキストが見つかると行を書きます。 例:.txtファイルで "hello"が見つかるので、 "こんにちは!"と書いてください。次の行にあります。 他にも何かがあります、私はそれを書いてほしい "こんにちは! 初めてではありません "hello" ですが、第2のが見つかりました。 これは私が試みてきたことですが、そのアイデアが正しいかどうかはわかりません。どんな助け?コードのブロックが持っているとき、私は、この場合には、Pythonでコンテキストマネージャなので、それが意味することをwith
文を使用していますキーワードを見つけるときにファイルに行を書く
def line_replace(namefilein):
new_content = ''
first_time = False
with open(namefilein, 'r') as f:
for line in f:
new_content += line
if 'hello' in line:
if first_time:
new_content += 'Hi!' + '\n'
else:
first_time = True
with open(namefilein, 'w') as f:
f.write(new_content)
見て:あなたはこのコードを使用することができます
def line_replace(namefilein):
print namefilein
filein=open(namefilein, "rw")
tag="intro"
filein.read()
for line in filein:
if tag=="second" or tag=="coord":
try:
filein.write("\n\n %s" %(text-to-be-added))
print line
except:
if tag=="coord":
tag="end"
else:
tag="coord"
if " text-to-find" in line:
if tag=="intro":
tag="first"
elif tag=="first":
tag="second"
filein.close()
入力と出力に同じファイルを使用する必要がありますか? – lmiguelvargasf
あなたは最初の時間が無視され、何度も「こんにちは」が見つかるとどういう意味ですか? – lmiguelvargasf
はい、出力ファイルは、関数によって行が追加された入力ファイルです。 – santimirandarp