textfile: copy between 2 keywords
Steven D'Aprano
steve at pearwood.info
Thu Sep 10 08:10:15 EDT 2015
On Thu, 10 Sep 2015 09:18 pm, Gerald wrote:
> Hey,
>
> is there a easy way to copy the content between 2 unique keywords in a
> .txt file?
>
> example.txt
>
> 1, 2, 3, 4
> #keyword1
> 3, 4, 5, 6
> 2, 3, 4, 5
> #keyword2
> 4, 5, 6 ,7
>
>
> Thank you very much
Copy in what sense? Write to another file, or just copy to memory?
Either way, your solution will look something like this:
* read each line from the input file, until you reach the first keyword;
* as soon as you see the first keyword, change to "copy mode" and start
copying lines in whatever way you feel is best;
* until you see the second keyword, then stop.
E.g.
with open("input.txt") as f:
# Skip lines as fast as possible.
for line in f:
if line == "START\n":
break
# Instead of copying, I'll just print the lines. That's sort of a copy.
for line in f: # This will pick up where the previous for loop ended.
if line == "STOP\n":
break
print(line)
# If you like, you can just finish now.
# Or, we can read the rest of the lines.
for line in f: # continue from just after the STOP keyword.
pass # This is a waste of time...
print("Done!")
--
Steven
More information about the Python-list
mailing list