小编snt*_*nth的帖子

为什么<Ca>(CTRL + A)在Windows下的gvim下不起作用?

我正在尝试使用vim下的<Ca>(CTRL+ A)shorcut来增加光标下的变量.这在Linux上运行的vim下工作正常.然而,当我尝试在windows下的gvim中执行此操作时,它"选择全部"(即突出显示或在视觉上选择当前窗口中的所有文本).如何更改此行为,或者如何恢复增量变量功能(例如,可能使用不同的键映射)?

windows vim keyboard-shortcuts

29
推荐指数
2
解决办法
1万
查看次数

如何以异常安全的方式处理MATLAB中的资源?(比如"试试......终于")

由于MATLAB中的try-catch块没有finally子句,我发现自己编写了大量代码,如下所示:

fid = fopen(filename);
if fid==-1
    error('Couldn''t open file');
end
try
   line = getl(fid);
catch ME
   fclose(fid);
   rethrow ME;
end
fclose(fid);
Run Code Online (Sandbox Code Playgroud)

我发现在两个地方都有fclose功能,很容易出错.

这样做有更好的方法吗?

file-io matlab exception-handling

29
推荐指数
2
解决办法
3657
查看次数

Dlot by Plotly与Jupyter Dashboards的优缺点是什么?

Dlot by Plotly看起来是Python开发人员创建交互式Web应用程序的好方法,无需学习Javascript和前端Web开发.另一个具有类似目标和范围的伟大项目是Jupyter Dashboards.

各自的优点和缺点是什么?

特别是在多用户部署中?我还发现Plotly文档很不清楚究竟什么是开源,以及数据是否上传到他们或者是否可以离线完成绘图?底层的Plotly库显然有两种模式,但Dash运行的模式是什么?

python plotly jupyter jupyter-notebook plotly-dash

29
推荐指数
1
解决办法
2万
查看次数

如何在Jupyter笔记本中运行Python asyncio代码?

我有一些asyncio代码在Python解释器(CPython 3.6.2)中运行良好.我现在想在一个带有IPython内核的Jupyter笔记本中运行它.

我可以用它来运行它

import asyncio
asyncio.get_event_loop().run_forever()
Run Code Online (Sandbox Code Playgroud)

虽然这似乎工作,它似乎也阻止了笔记本电脑,似乎并没有与笔记本电脑很好玩.

我的理解是Jupyter使用了Tornado,所以我尝试按照Tornado文档中的建议安装Tornado事件循环:

from tornado.platform.asyncio import AsyncIOMainLoop
AsyncIOMainLoop().install()
Run Code Online (Sandbox Code Playgroud)

但是,这会产生以下错误:

---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-1-1139449343fc> in <module>()
      1 from tornado.platform.asyncio import AsyncIOMainLoop
----> 2 AsyncIOMainLoop().install()

~\AppData\Local\Continuum\Anaconda3\envs\numismatic\lib\site- packages\tornado\ioloop.py in install(self)
    179         `IOLoop` (e.g.,     :class:`tornado.httpclient.AsyncHTTPClient`).
    180         """
--> 181         assert not IOLoop.initialized()
    182         IOLoop._instance = self
    183 

AssertionError: 
Run Code Online (Sandbox Code Playgroud)

最后我找到了以下页面:http://ipywidgets.readthedocs.io/en/stable/examples/Widget%20Asynchronous.html

所以我添加了一个包含以下代码的单元格:

import asyncio
from ipykernel.eventloops import register_integration

@register_integration('asyncio')
def loop_asyncio(kernel):
    '''Start a kernel with asyncio event loop support.'''
    loop = asyncio.get_event_loop() …
Run Code Online (Sandbox Code Playgroud)

python ipython-notebook python-asyncio jupyter

22
推荐指数
4
解决办法
7161
查看次数

nargin vs exists

给定的功能如下:

function foo(myParam)
if nargin<1
  myParam = 'default value';
end % if
end % function
Run Code Online (Sandbox Code Playgroud)

我见过人们使用类似下面的东西来代替nargin版本

if ~exist('myParam', 'var')
  myParam = 'default value';
end %if
Run Code Online (Sandbox Code Playgroud)

我想知道是否有任何偏好?

对我来说,"〜exists ..."版本的优点是,如果我改变我的函数参数的顺序,那么它应该仍然有效.然而,我对这种方法的关注是,在嵌套函数的情况下,我可能会无意中拾取全局定义的变量或周围函数的范围.

有关这个问题的任何想法?

matlab

12
推荐指数
2
解决办法
4997
查看次数

如何设置vim以根据CAPS LOCK是否打开自动更改背景颜色?

我是一个狂热的vim用户,并且最近开始编写一些SQL代码.我喜欢在CAPS中编写我的SQL语句,有时忘记切换CapsLock'关闭',然后在我意识到发生了什么之前,我会迅速对我的代码造成严重破坏.

到目前为止,我还没有找到任何方法来判断CapsLock键是否只是在看我的键盘(这需要我远离屏幕,我认为这是一个很大的延迟).

理想情况下,我希望vim在CapsLock"开启" 时自动更改我的背景颜色,但我愿意接受其他一些屏幕上的CapsLock状态指示作为妥协.

keyboard vim

11
推荐指数
3
解决办法
2831
查看次数

在numpy(Python)中Matlab'ismember'的等价物?

我正在努力为使用ismember的特定Matlab编码"模式"找到Numpy等价物.

不幸的是,这段代码往往是我的Matlab脚本花费的大部分时间,所以我想找到一个有效的Numpy等价物.

基本模式包括将子集映射到更大的网格.我有一组存储为并行数组的键值对,我想将这些值插入到以相同方式存储的更大的键值对列表中.

具体来说,我有季度GDP数据,我按月计划到月度时间网格.

quarters = [200712 200803 200806 200809 200812 200903];
gdp_q = [10.1 10.5 11.1 11.8 10.9 10.3];
months = 200801 : 200812;
gdp_m = NaN(size(months));
[tf, loc] = ismember(quarters, months);
gdp_m(loc(tf)) = gdp_q(tf);
Run Code Online (Sandbox Code Playgroud)

请注意,并非所有季度都出现在月份列表中,因此需要tfloc变量.

我在StackOverflow上看到了类似的问题,但是他们要么只提供一个纯Python解决方案(这里),要么使用numpy,然后返回loc参数(这里).

在我的特定应用领域,这种特殊的代码模式往往会反复出现并占用我函数的大部分CPU时间,因此这里的有效解决方案对我来说至关重要.

我们也欢迎提出意见或重新设计建议.

python matlab numpy

11
推荐指数
1
解决办法
3518
查看次数

如何在(私有)Docker注册表(API v2)中查找图像的创建日期?

我想使用v2 API找到私有Docker注册表中图像的最新时间戳,而不先将图像拉到我的本地主机.

docker docker-registry

11
推荐指数
2
解决办法
5936
查看次数

有没有办法在matlab中以单元格模式调用子函数?

说我有以下代码:

% Cellmode_subfunction_test.m
%% Cell 1
foo(1);

%% Cell 2
foo(2);

%% Definition of the foo subfunction
function foo(num)
disp(['num=' num2str(num)]);
Run Code Online (Sandbox Code Playgroud)

如何测试最终定义的子功能的单元1和单元2?

编辑:基本上这个例子中的每个单元格执行一些冗长的计算,所以我想分别测试和调试它们.我正在使用子函数来抽象和重用常用功能,因为到目前为止,这个功能仅用于这个特定的应用程序,我真的不想将foo放在一个单独的m文件中.

编辑(2):我只记得我模糊地回忆单元模式只在matlab脚本中工作而不是在函数m文件中,并且在这样的脚本中不允许使用子函数和嵌套函数.因此,我所要求的可能是不可能的.

虽然下面给出的匿名函数解决方案可能有点限制,因为它只允许单个表达式函数,但实际上它确实足以满足我的想法,因此我已经接受它作为我的问题的解决方案.

matlab

9
推荐指数
1
解决办法
1576
查看次数

在数据仓库中表示时间间隔的最佳做法是什么?

特别是我正在处理类型2 缓慢变化的维度,并且需要表示特定记录活动的时间间隔,即对于每个记录我有一个StartDate和一个EndDate.我的问题是关于是否使用闭合([StartDate,EndDate])或半开([StartDate,EndDate))间隔来表示这一点,即是否包括间隔中的最后日期.举一个具体的例子,说记录1从第1天到第5天是活跃的,从第6天开始记录2变得活跃.我是否将记录1的EndDate设为等于5或6?

最近我开始思考半开放区间最好基于Dijkstra:为什么编号应该从零开始,以及Python中的数组切片和range()函数的约定.在数据仓库上下文中应用它我会看到半开区间约定的优点如下:

  • EndDate-StartDate给出记录活动的时间
  • 验证:下一条记录的StartDate将等于上一条记录的EndDate,该记录易于验证.
  • 未来打样:如果我后来决定将我的粒度从每日更改为更短的时间,那么切换日期仍然保持精确.如果我使用一个封闭的间隔并将EndDate存储为午夜的时间戳,那么我将不得不调整这些记录以适应这种情况.

因此,我倾向于采用半开区间法.然而,如果有一些广泛采用的使用闭区间方法的行业惯例,那么我可能会倾向于顺其自然,特别是如果它是基于实现这种系统的实际经验而不是我的抽象理论.

提前感谢任何见解或评论.

database database-design data-warehouse

9
推荐指数
2
解决办法
3960
查看次数