小编mcc*_*ean的帖子

如何在Python中获取当前模块中所有类的列表?

我已经看到很多人从模块中提取所有类的例子,通常是这样的:

# foo.py
class Foo:
    pass

# test.py
import inspect
import foo

for name, obj in inspect.getmembers(foo):
    if inspect.isclass(obj):
        print obj
Run Code Online (Sandbox Code Playgroud)

真棒.

但我无法找到如何从当前模块中获取所有类.

# foo.py
import inspect

class Foo:
    pass

def print_classes():
    for name, obj in inspect.getmembers(???): # what do I do here?
        if inspect.isclass(obj):
            print obj

# test.py
import foo

foo.print_classes()
Run Code Online (Sandbox Code Playgroud)

这可能是非常明显的事情,但我找不到任何东西.谁能帮我吗?

python reflection inspect

278
推荐指数
7
解决办法
16万
查看次数

在Eclipse中调试时修改/查看静态变量

按照问题.在调试视图中,有变量框架.它显示当前对象的成员变量的所有值以及所有局部变量,但它不显示对象类的任何静态变量.

我怎么做到这些?

一些谷歌搜索建议我按下工具栏上的按钮,但除了"显示类型名称""逻辑结构"和"全部折叠"(Eclipse 3.4.2)之外,Variables框架的工具栏上没有任何内容.

有什么建议?

eclipse variables debugging static

116
推荐指数
2
解决办法
5万
查看次数

UIScrollView暂停NSTimer直到滚动完成

当一个UIScrollView(或其派生类)滚动时,似乎所有NSTimers正在运行的都会暂停,直到滚动完成.

有办法解决这个问题吗?主题?优先级设置?什么?

uiscrollview nstimer ios

82
推荐指数
6
解决办法
2万
查看次数

XCode调试器:显示长字符串

在XCode中调试程序时,我有几个CFStringRef变量指向长度在200个字符左右的字符串.

在调试器中,它只显示这些字符串的值达到一定长度,然后将它们省略.我真的很想看到字符串的全部价值.

有没有我可以配置的选项,所以它不会以任意长度终止它们?

string debugging macos xcode

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

为什么触摸事件会破坏我的Android帧速率?

我正在为Android开发游戏.它有很多事情发生但运行得相当顺利.也就是说,直到用户触摸屏幕.

虽然他们触摸它,onTouchEvent被称为(与action = ACTION_MOVE,x = 0y = 0)大致在一次看似每十毫秒是一个相当高的优先级,因为它绝对抹杀的帧率.一旦触摸结束,帧速率就会恢复到良好状态.

我试过了

  • 具有onTouchEvent为游戏照常手柄输入
  • onTouchEvent回报true立竿见影
  • 根本没有onTouchEvent实施

这三种情况都存在问题.

有没有遇到过这个?有没有办法降低ACTION_MOVE生成事件的速率,或确保它们仅在实际移动时生成,或者使用仅获取触摸当前位置的轮询方法?或者甚至只是一种完全禁用它的方法?

android frame-rate polling touch

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

Android:跟踪创建的对象数量

我正在将一个游戏移植到Android(有很多代码,而且很少是我的),而DalvikVM告诉我(通过LogCat)关于垃圾收集的所有内容.在代码中的某个时刻,我得到了一个"GC释放x对象/ x ms"消息流,基本上告诉我~15万个对象刚被删除,并且它需要一整秒.

我想知道这些来自哪里!我很确定我没有故意创造那么多物品.

那么,有没有办法获得...基本上与该消息相反?在创建任何对象时打印日志消息的东西?

这样我就可以跨过代码,检查生成了多少消息,并查看代码的哪些部分正在生成对象.我怀疑某种形式的对象创建是循环的一部分,但如果可能的话,这将是一种简单的方法来确定.

我正在使用Eclipse 3.4.2,如果这是相关的.

有任何想法吗?

debugging android profiling garbage-collection allocation

14
推荐指数
2
解决办法
1896
查看次数

C++成员变量别名?

我很确定这是可能的,因为我很确定我已经看到它完成了.我认为这很棒,但我很乐意接受"这是一个可怕的想法,因为____"的答案.

假设我们有一个基本结构.

struct vertex
{
    float x, y, z;
};
Run Code Online (Sandbox Code Playgroud)

现在,我想在这些变量上实现别名.

vertex pos;
vertex col;
vertex arr;

pos.x = 0.0f; pos.y = 0.5f; pos.z = 1.0f;
col.r = 0.0f; col.g = 0.5f; col.b = 1.0f;
arr[0] = 0.0f; arr[1] = 0.5f; arr[2] = 1.0f;
Run Code Online (Sandbox Code Playgroud)

理想情况下,第三种语法与数组无法区分.也就是说,如果我arr作为参考参数发送给期望其将存储数据的浮点数组的函数(例如许多OpenGL glGet函数),它将正常工作.

你怎么看?可能?可能但很愚蠢?

c++ variables alias struct member

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

无法在Eclipse中设置断点

在OSX 10.5.6上使用Eclipse 3.4.2的Android记事本教程之后.

我被指示通过以下方式之一设置断点:

  1. 双击编辑器窗格左侧的灰色栏.

    • 这只是打开"添加书签"窗口
  2. 在上下文菜单中选择"切换断点"

    • 上下文菜单中的唯一选项是"转到注释..."(已禁用),"添加书签","添加任务","快速差异","显示行号","折叠"和"首选项"

我的猜测是编辑器在某种模式下不允许设置断点,但我只是一个Eclipse新手.有人能在这里提出任何建议吗?

eclipse macos android breakpoints

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

PIL:将RGB图像转换为特定的8位调色板?

使用Python Imaging Library,我可以打电话

img.convert("P", palette=Image.ADAPTIVE)
Run Code Online (Sandbox Code Playgroud)

要么

img.convert("P", palette=Image.WEB)
Run Code Online (Sandbox Code Playgroud)

但有没有办法转换为任意调色板?

p = []
for i in range(0, 256):
    p.append(i, 0, 0)
img.convert("P", palette=p)
Run Code Online (Sandbox Code Playgroud)

它会将每个像素映射到图像中最接近的颜色?或者这是否支持Image.WEB,没有别的?

python image palette

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

SCons:获取原始文件的abspath(好像我没有设置variant_dir)

我可以File('foo.bar').abspath用来获取文件的位置,但是如果我设置了variant_dir,那么返回的路径将在variant_dir而不是它的原始位置.如果我已duplicate=0设置,则返回的文件实际上不存在.

显然,SCons知道原始文件的位置,因为它在文件实际构建时作为参数传递(例如gcc -c -o variant/foo.o orig/foo.c).

有什么File('foo.bar').origpath我可以使用的吗?

如果它来了我可以使用,os.path.join(Dir('#').abspath, 'orig')但这需要SConscript知道它在哪个目录,这是凌乱的.

scons

8
推荐指数
1
解决办法
2935
查看次数