我已经定义了一个python函数(作为.py文件),该函数以迭代的方式适合几十个文件的一些科学数据。现在,我正在尝试将此功能导入jupyter笔记本中,以用作另一个脚本的一部分,以处理获取的数据。基本上是这样的:
char *
此脚本很自然需要几分钟才能在我的计算机中结束。但是,在完成之前,我收到一条与时间限制有关的错误消息:
#include <array>
#include <iostream>
template <std::size_t...>
struct indexSequence
{ using type = indexSequence; };
template <typename, typename>
struct concatSequences;
template <std::size_t... S1, std::size_t... S2>
struct concatSequences<indexSequence<S1...>, indexSequence<S2...>>
: public indexSequence<S1..., ( sizeof...(S1) + S2 )...>
{ };
template <std::size_t N>
struct makeIndexSequenceH
: public concatSequences<
typename makeIndexSequenceH<(N>>1)>::type,
typename makeIndexSequenceH<N-(N>>1)>::type>::type
{ };
template<>
struct makeIndexSequenceH<0> : public indexSequence<>
{ };
template<>
struct makeIndexSequenceH<1> : public indexSequence<0>
{ };
template <std::size_t N>
using makeIndexSequence = typename makeIndexSequenceH<N>::type;
using fakeString = std::array<char, 10u>;
template <std::size_t ... Is, std::size_t N>
constexpr fakeString fsh (indexSequence<Is...> const &, char const (&s)[N])
{ return {{ s[Is]... }}; }
template <std::size_t N>
constexpr fakeString fs (char const (&s)[N])
{ return fsh(makeIndexSequence<N>{}, s); }
struct foo
{
static constexpr std::array<fakeString, 3u> a
{{ fs("a"), fs("bc"), fs("232") }};
};
constexpr std::array<fakeString, 3u> foo::a;
int main ()
{
for ( auto const & fakeS : foo::a )
std::cout << fakeS.data() << std::endl;
}
如何在笔记本中更改此时间限制?如果有帮助,我正在使用ipython版本6.1.0
谢谢
答案 0 :(得分:0)
在jupyter_notebook_config.py中覆盖NotebookApp.iopub_data_rate_limit = 10000000可以解决问题。请注意,在看到一个名为jupyter_notebook_config.py的文件之前,然后继续进行此修复,必须首先运行jupyter notebook --generate-config(对于Linux用户)。
如果在配置文件中覆盖此设置对您不起作用。无论您在配置文件中将NotebookApp.iopub_data_rate_limit =设置为什么,都会发生相同的错误。它应该不在正确的位置。如果不是,请尝试将'NotebookApp.iopub_data_rate_limit ='放在〜/ .jupyter / jupyter_notebook_config.py。