生成长度等于文件中时间长度的字符串,每秒1个标签,python

时间:2018-02-27 15:18:01

标签: python string sequence

我有一个这样的文件:

https://gist.github.com/manbharae/70735d5a7b2bbbb5fdd99af477e224be

我想要做的是生成1个标签1秒钟。

由于以上文件长160秒,因此应该有160个标签。换句话说,我想生成长度为160的字符串。

然而,我最终得到了一个str 166而不是160。

我的代码:

foreach

我的最终结果:

  

xxxxxxxMxMMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

     

166

哪个错了。 Str应该是每秒每个字符160个字符,因为文件长160秒。

某处有一些小虫子,无法找到它。 请告知这里出了什么问题?

感谢。

我尝试过的几件事情,尝试包括一个if条件,一旦达到160的长度就会突破循环:

// get device source id outside the loop
$deviceSourceId = Device::getSource($options['deviceSourceId'])->id;

foreach($response->devices as $device) {
    // No need to set a variable if you are not using it
    Device::create([
        'device_id' => $device->device_id,
        'source_id' => $deviceSourceId,
        'alias' => $device->alias,
        'online_state' => $device->online_state,
    ]);
}

AFAIK,在最后一次迭代中出现问题,因为在那之前一切都很好。

然而,它并没有帮助。 我看了看:https://stackoverflow.com/a/14927311/4932791
https://stackoverflow.com/a/1424016/4932791

1 个答案:

答案 0 :(得分:3)

它没有加起来的原因是因为你有两次应该添加负数字母,因为这个值低于前一个数字:

(69, 'not-MIT')
(68, 'not-MIT')

(76, 'not-MIT')
(71, 'not-MIT')

供将来参考:最好不要调用变量' str' as' str()'已经是python中定义的函数。