在我之前的问题之后,如果我想追加行,该怎么办。在这种情况下,其他块也会在输出文件中指定。
输入文件file1.txt
##### Xyz
* [] Task 112
* [] Cl 221
##### Foo
* [] Task 1
* [x] Clone 2
##### Bar:
* [x] Email to A
* [] Email to B
* [x] Email to C
##### Bob
* [] Task 3
* [x] Clone Bob
输出文件file2.txt
##### Xyz
##### Foo
* [x] Clone 2
##### Bar:
* [x] Email to A
* [x] Email to C
##### Bob
* [x] Clone Bob
输出文件是预定义的结构,如输出文件-file2.txt中所示,带有指定的块。如果在输入文件中添加了一些新项目内容*[x],则应将其附加在输出文件中,不得添加任何重复项目。看看argparse的用法会很有趣,并以[x]开头附加一个特定的块或整个块。感谢:)
从输入文件中读取所有行,但只写入以指定字符串开头的行:
with open("file1.txt", "rt") as finp:
with open("file2.txt", "wt") as fout:
for line in finp.readlines():
if line.startswith("#####") or line.startswith("* [x]"):
fout.write(line)