【发布时间】:2015-07-05 16:13:03
【问题描述】:
首先,我对此真的很陌生。在过去的几天里,我一直在阅读一些教程,但现在我想实现的目标碰壁了。
给你一个长版本:我在一个目录中有多个文件,所有文件都包含某些行(23-26)中的信息。现在,代码必须找到并打开所有文件(命名模式:*.tag),然后将第 23-26 行复制到一个新的单个文件中。 (并在每个新条目后添加一个新行......)。 (可选)它还会从我不需要的每一行中删除一个特定部分:
-> C12b2(或类似)之前的所有内容都需要删除。
到目前为止,我已经设法将这些行从一个文件复制到一个新文件,但其余部分仍然让我无法理解:(不知道格式化是如何工作的)
f = open('2.tag')
n = open('output.txt', 'w')
for i, text in enumerate(f):
if i >= 23 and i < 27:
n.write(text)
else:
pass
谁能给我一些建议?我不需要完整的代码作为答案,但是,似乎很难找到不跳过解释的好教程。
【问题讨论】:
-
除了打线你还想做什么?
-
我必须承认,当我第一次阅读您的问题时,我的想法是“您有使用 python 吗?”因为如果我遇到了你的问题,我可能会尝试使用 sed 进行文件操作,然后将我希望 python 处理的行通过管道传递给 python。
-
如果您在 *nix 类型系统上,使用
awk实际上更容易描述您所描述的内容。 -
您的第二个要求:“需要删除 C12b2(或类似)之前的所有内容”需要对字符串进行进一步解释/规范。
-
要删除的字符串如下所示:
- 。它在每个新行的开头重复。
标签: python python-3.x