- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我保留技术笔记的日记文件。每个条目都带有时间戳,如下所示:
# Monday 02012-05-07 at 01:45:20 PM
This is a sample note
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
# Wednesday 02012-06-06 at 03:44:11 PM
Here is another one.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia
deserunt mollit anim id est laborum.
想根据时间戳 header 将这些笔记分解成单独的文件。例如这是一个示例 note.txt
,这是另一个很长的 title.txt
。我确定我必须在某个时候截断文件名,但我的想法是根据日记条目的第一行为文件名设置种子。
我似乎无法通过 python 修改文件的创建日期,因此我想将条目时间戳保留为笔记正文的一部分。
我有一个 RegEx 模式来捕获适合我的时间戳:
#(\s)(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(\s)(.*)
并且可能会使用该正则表达式遍历文件并将每个条目分解,但我不太确定如何遍历日记文件并将其分解为单独的文件。有很多获取实际正则表达式模式或特定行的示例,但我想在这里做更多的事情,但在将它们组合在一起时遇到了一些困难。
这是所需文件内容的示例(日期戳 + 所有文本直到下一个日期戳匹配):
bash$ cat This\ is\ a\ sample\ note.txt
Monday 02012-05-07 at 01:45:20 PM
This is a sample note
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
bash$
最佳答案
这是一般的 ;-) 方法:
f = open("diaryfile", "r")
body = []
for line in f:
if your_regexp.match(line):
if body:
write_one(body)
body = []
body.append(line)
if body:
write_one(body)
f.close()
简而言之,您只需将所有行附加到列表 (body
)。当你找到一条神奇的线时,你调用 write_one()
来转储你目前拥有的内容,并清除列表。该文件的最后一 block 是一个特例,因为您不会再找到神奇的正则表达式。所以你在循环后再次转储你拥有的东西。
您可以在 write_one()
函数中进行任何您喜欢的转换。例如,听起来您想从输入时间戳行中删除前导“#”。没关系 - 就去做吧,例如,
body[0] = body[0][2:]
在 write_one
中。所有的行都可以一口气写出来,例如,
with open(file_name_extracted_from_body_goes_here, "w") as f:
f.writelines(body)
您可能想先检查该文件是否不存在!如果它像我的日记一样,许多条目的第一行将是“糟糕的一天”。 ;-)
关于python - 使用Python将日记文件拆分为多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18860441/
我有一个数组列表: ArrayList allText = new ArrayList(); 其内容是这样的: [Alabama - Montgomery, Alaska - Juneau, Ariz
我有一个 timestamp 格式的开始和结束时间。我想将它们分成多个时间段,例如 1 小时。 $t1 = strtotime('2010-05-06 12:00:00'); $t2 = strtot
我需要将 span10 分成 3 列,但我无法将它们排列起来。我应该在 span10 中添加一个 span12 还是使用 offset 还是??
我有一个时间序列。我想从早上 8 点到第二天早上 7:59 分成 24 小时的区 block 。我知道如何按日期分组,但我尝试过使用 TimeGroupers 和 DateOffsets 处理这个 8
我收到“街道号码邮政编码城市”形式的地址(作为字符串)。我想要做的是将街道和号码与邮政编码和城市分开。通常你可以按空格分割。但有些街道名称中也有空格,例如:“Emile Van Ermengemlaa
我有一个用户列表。其中一些用户处于第一状态,而其他用户处于第二状态。所以我想要的是将这个列表显示为首先,它按排序顺序显示存在 = 1 的用户,然后按排序顺序显示存在 = 2 的用户。这里的排序是根据用
我感觉我搜索了整个网络,但找不到一种方法将不同高度的 div 很好地划分为 3 列,就像 http://www.ing.nl 上那样 headertekst headerteksttesth
Bootstrap 3 按钮下拉菜单出现问题。你可以在这里看到我的两个例子: http://www.bootply.com/W1dLusilMk http://www.bootply.com/GGBv
我在 php 中执行以下操作 foreach($QuestionAsekd as $k => $v){ $grp_name = $v['NAME']; $groupValues[$gr
我找到了一种用pandas解析html的绝妙方法。我的数据格式有点奇怪(见下文)。我想将这些数据拆分为 2 个单独的数据帧。 注意每个单元格如何由,分隔...是否有任何真正有效的方法来分割所有这些单元
HTML 看起来像这样,但我不允许对其进行更改。我只能编写 CSS 将其变成 2 列。 Povezave www.behance.net www.kiberpipa.org www.o
假设我有以下数据框“A” utilization utilization_billable service 1
我需要将 2 个文本框拉伸(stretch)到 100% 的浏览器宽度,以及一个提交按钮。所有三个都应该在一行中,我试图拉伸(stretch)它但它没有发生......有什么想法吗? 代码: .sea
我是一名优秀的程序员,十分优秀!