我的python入口点需要作为模块(而不是脚本)运行,如:
python -m foo.bar
Run Code Online (Sandbox Code Playgroud)
以下不起作用(并且不应该):
python foo/bar.py
Run Code Online (Sandbox Code Playgroud)
如何使用上面的第一个调用在pycharm中创建运行我的代码的运行确认?
我有一些参数从CPU传递到GPU,这些参数对于所有片段都是常量但在每一帧都有变化(我使用的是GLSL ES 1.1).我应该为这些价值观使用制服或属性吗?属性可以在顶点到顶点之间变化,因此我的直觉是使用在整个帧中保持不变的值的属性将是低效的.然而,我已经读过,制服是针对"相对不频繁"变化的价值,这表明在每一帧上更换制服可能效率低下.
在硬件方面,我最感兴趣的是优化iPhone 4S.
我试图在OSX下为OpenCV的python包装器创建一个视频.我正在使用python 2.7.1,opencv 2.3.1a,以及来自该版本opencv的willowgarage的python包装器.我有:
import cv,cv2
w = cv2.VideoWriter('foo.avi', cv.FOURCC('M','J','P','G'), 25, (100,100))
for i in range(100):
w.write(np.ones((100,100,3), np.uint8))
Run Code Online (Sandbox Code Playgroud)
OpenCV说
WARNING: Could not create empty movie file container.
Didn't successfully update movie file.
... [ 100 repetitions]
Run Code Online (Sandbox Code Playgroud)
我不确定下一步该尝试什么
我可以配置PyCharm在执行自动PEP8样式检查时发送给pep8.py的命令行参数吗?我想做点什么
$ pep8 --ignore=E231 foo.py
Run Code Online (Sandbox Code Playgroud)
但是,在项目设置 - >检查中的PyCharm中,我只看到聚合启用/禁用PEP8样式检查的选项,但没有启用/禁用特定PEP8违规的选项.
我试图使用c ++模板元编程实现以下功能.我希望建立一个类型列表,然后一起收集这些类型,并在列表上进行进一步的编译时处理.例如:
foo.h中:
class Foo { ... };
// INSERT ANY CODE HERE
Run Code Online (Sandbox Code Playgroud)
bar.h:
class Bar { ... };
// INSERT ANY CODE HERE
Run Code Online (Sandbox Code Playgroud)
main.h:
#include "foo.h"
#include "bar.h"
struct list_of_types {
typedef /* INSERT ANY CODE HERE */ type;
};
Run Code Online (Sandbox Code Playgroud)
我可以在上面的插槽中插入任何代码,只要list_of_types :: type解析为包含类型Foo和Bar的列表的某些表示(例如boost :: mpl :: vector).以下限制适用:
foo.h中的代码不应该知道bar.h中的代码,反之亦然.应该可以在main.h中更改#include指令的顺序,而不是更改任何其他代码.
如果我包含更多类型添加到列表中的标题,则main.h中的代码不应该更改.
类型列表必须在编译时可用.我打算进一步进行涉及清单的元编程.
我希望通过HTTP流式传输一组日志消息.我想一次发送一行消息,可能在行之间有延迟,我希望在服务器发送后尽快在浏览器中显示每一行.
我目前的方法是设置Content-Type为text/plain; charset=UTF-8响应,并从服务器开始必要时启动它们之间的延迟流线.我确保在每次写入后刷新所有相关的输出流.
我在Chrome中观察到的行为是它等待响应完全完成后再显示任何内容.但我想要的行为是看到发送的每一行.这可能吗?
我已经提出了很多关于这个主题的stackoverflow问题,但没有一个问题已经回答了我的问题.我认为Transfer-Encoding这与我无关,因为这似乎是为了下载大文件(如果我错了,请纠正我).
这不是关于下载文件的问题,因为我希望直接在浏览器中呈现这些行.
我知道python内置id()函数返回一个对象生命周期唯一的ID.我理解,具有非重叠生命期的对象最终可能具有相同的ID.但是,我试图理解这种相当混乱的行为:
>>> id(matplotlib.image.BboxImage.set_cmap)
4424372944
>>> id(numpy.ma.core.MaskedArray.sum)
4424372944
Run Code Online (Sandbox Code Playgroud)
事实上,跨多个解释器实例,行为是可重复的:
Mac:~$ python2.7 -c "import matplotlib.image; import numpy; print id(matplotlib.image.BboxImage.set_cmap), id(numpy.ma.core.MaskedArray.sum)"
4343186208 4343186208
Mac:~$ python2.7 -c "import matplotlib.image; import numpy; print id(matplotlib.image.BboxImage.set_cmap), id(numpy.ma.core.MaskedArray.sum)"
4521153312 4521153312
Mac:~$ python2.7 -c "import matplotlib.image; import numpy; print id(matplotlib.image.BboxImage.set_cmap), id(numpy.ma.core.MaskedArray.sum)"
4358591264 4358591264
Mac:~$ python2.7 -c "import matplotlib.image; import numpy; print id(matplotlib.image.BboxImage.set_cmap), id(numpy.ma.core.MaskedArray.sum)"
4389970720 4389970720
Run Code Online (Sandbox Code Playgroud)
看来,matplotlib.image.BboxImage.set_cmap和numpy.ma.core.MaskedArray.sum总是得到相同的ID作为对方,甚至跨越了Python解释器的不同instatiations.
现在我明白这与文档是一致的,id()因为这两个对象在被访问时是动态创建的,因此确实具有非重叠的生命周期.但是为什么这两个不相关的对象总是会使用相同的ID呢?
(这个问题不同于同一类的Object方法有相同的id?因为在这里我问为什么这可以在多个解释器实例中重复,而不是简单地在具有非重叠生命周期的对象上进行虚假的id冲突.)
我有一个包含多个拉取订阅的 pubsub 主题。我想要某种机制,我可以在其中发布带有“优先级”标签的消息,使消息尽可能地跳到队列的前面。
我不需要任何有保证的排序语义,只需要“尽力而为”的优先级机制。
pubsub 有这样的可能吗?
我正在使用iPhone着色器GLSL ES 1.1中的3x3内核进行卷积.目前我正在进行9次纹理查找.有更快的方法吗?一些想法:
将输入图像作为缓冲区而不是纹理传递,以避免调用纹理插值.
从顶点着色器传递9个不同的vec2坐标(而不是我目前正在做的一个),以鼓励处理器有效地预取纹理.
查看可能适用于此的各种Apple扩展.
(已添加)调查GLSL shaderOffset调用的ES等价物(在ES下不可用,但也许有等价物)
在硬件方面,我特别关注iPhone 4S.