我正在尝试将文件的各个部分读取为numpy数组,这些数组对于文件的不同部分具有相似的开始和停止标志。目前,我已经找到了一种有效的方法,但是仅在输入文件的一部分中需要重新打开输入文件。
目前,我的代码是:
with open("myFile.txt") as f:
array = []
parsing = False
for line in f:
if line.startswith('stop flag'):
parsing = False
if parsing:
#do things to the data
if line.startswith('start flag'):
parsing = True
我从这个问题中找到了代码
使用此代码,我需要重新打开并阅读文件。
有没有一种方法可以读取所有部分,而不必打开要读取的每个部分的文件?
每次到达开始标记直到停止都可以使用itertools.take:
from itertools import takewhile
with open("myFile.txt") as f:
array = []
for line in f:
if line.startswith('start flag'):
data = takewhile(lambda x: not x.startswith("stop flag"),f)
# use data and repeat
或者只是使用一个内循环:
with open("myFile.txt") as f:
array = []
for line in f:
if line.startswith('start flag'):
# beginning of section use first lin
for line in f:
# check for end of section breaking if we find the stop lone
if line.startswith("stop flag"):
break
# else process lines from section
文件对象返回其自己的迭代器,因此当您遍历时f
,指针将继续移动,当您到达start标志时,开始处理一段,直到您到达停靠点为止。根本没有理由重新打开文件,只需在文件的各行中迭代一次即可使用这些部分。如果开始和停止标志线被认为是该部分的一部分,请确保也使用它们。
我正在做一个游戏,里面有背景音乐。我想添加一个启动和停止音乐的静音按钮,但我不知道怎么做。创建音乐的方法是: 我想做的是在按钮的动作处理程序中,我想添加一个静音按钮,如果用户愿意,它可以启动和停止音频。所以它应该是这样的:如果(e.getSource()==muteButton){//启动和停止音乐} 我该怎么做?谢谢你的帮助!
我们的应用程序使用一个Spring Integration轮询一个目录,以便在将文件丢弃到该目录时侦听该目录。然后,Spring Integration启动一个Spring批处理作业,将要处理的文件的路径和名称交给该作业。 显然,即使在Spring批处理作业处理了一个文件之后,文件轮询器仍在继续运行。因此,Spring上下文保持打开,应用程序不会终止。是否有一种方法,通过编程或配置(更好),在一个
我是一个新的Kafka和使用Apache kafka消费者读取消息从生产者。但当我停下来开始一段时间。之间产生的所有消息都将丢失。如何处理这种情况。我正在使用这些属性“auto.offset.reset”、“latest”和“enable.auto.commit”、“false”。 这是我正在使用的代码。任何帮助都是感激的。
我正在尝试读取 xml 文件中 2 个 html 标签之间的文本。它适用于小内容,但是当内容很大时,它会失败并返回空。在高级别上可能是什么问题
问题内容: 我对此有一个文件模拟:… 我想从存在“ HDK1001”字样的行开始阅读,并在世界“ HDK7564”字样处结束阅读 我尝试使用此代码,但无法执行限制 请帮帮我 问题答案: 试试这个代码。