あなたがこの試すことができます:
select
numbers
,othernumbers
words
このコードを向上させることができます。
file = open("filename.txt", "r") # This opens the original file
output = open("result.txt", "w") # This opens a new file to write to
seenSpecialStuff = 0 # This will keep track of whether or not the 'SpecialStuff' line has been seen.
for line in file:
if ";" in line:
seenSpecialStuff = 0 # Set tracker to 0 if it sees a semicolon.
if seenSpecialStuff == 1:
output.write(line) # Print if tracker is active
if "SpecialStuff" in line:
seenSpecialStuff = 1 # Set tracker to 1 when SpecialStuff is seen
がこれは含まれていresult.txtという名前のファイルを返します!これは宿題の可能性が高いので、これをより効率的にする方法についてもっと研究したいと思うでしょう。うまくいけば、それはあなたのための便利な出発地になることができます!
乾杯!
EDIT
あなたは、具体的ラインを読むためのコードを望んでいた場合は、「SpecialStuff」(代わりに「SpecialStuff」を含む行の)、あなたは簡単に文がそれらをより具体的にするために、「場合」変更することができます:
file = open("my.txt", "r")
output = open("result.txt", "w")
seenSpecialStuff = 0
for line in file:
if line.replace("\n", "") == ";":
seenSpecialStuff = 0
if seenSpecialStuff == 1:
output.write(line)
if line.replace("\n", "") == "SpecialStuff":
seenSpecialStuff = 1
ありがとう、これは私が探していたものに本当に近いです。唯一の問題は、 "abcSpecialStuffpdq"のような文字列を持つコードの部分があるため、それに続くすべてを取得していることです。文字列 "SpecialStuff"に従うだけで、コードを変更することができますか? – user3476463
"if"ステートメントをif if line.replace( "\ n"、 "")== "SpecialStuff":とすると、正確にSpecialStuffを持つ行だけがトラッカーを "1"にするトリガー!あなたはそれが特定の出来事を見つけるだけなら、それは他の行についても行うことができます! – cosinepenguin
私はそれを反映する答えを編集しました! "abcSpecialStuffpdq"に含まれている情報を後で取得する必要がある場合は、別のif文を追加してコードが認識できるようにする必要があります。 – cosinepenguin