小编Gar*_*Jax的帖子

如何在django admin中显示布尔属性

众所周知,通过设置属性可以轻松地在Django管理员中显示方法返回值为boolean boolean:

class MyModel(models.Model):
    def is_something(self):
        if self.something == 'something':
            return True
        return False
    is_something.boolean = True
Run Code Online (Sandbox Code Playgroud)

如何在财产上实现同样的效果,例如以下情况?

class MyModel(models.Model):
    @property
    def is_something(self):
        if self.something == 'something':
            return True
        return False
Run Code Online (Sandbox Code Playgroud)

django

27
推荐指数
3
解决办法
8332
查看次数

使用ctypes获取`time_t`的类型/大小

我正在time_t使用python ctypes模块访问包含一些字段的C结构.

鉴于其非完全可移植性,我不能静态地定义这些字段c_intc_long类型.

如何定义它们以使我的代码可移植?

示例C结构定义:

#import <sys/types.h>
#import <time.h>

typedef struct my_struct {
    time_t timestap;
    uint16_t code;      
};
Run Code Online (Sandbox Code Playgroud)

各自的python ctypes结构:

from ctypes import *

c_time = ? # What do I have to put here?

class MyStruct(Structure):
    _fields_ = [
        ('timestamp', c_time),
        ('code', c_int16),
    ]
Run Code Online (Sandbox Code Playgroud)

c python struct ctypes

13
推荐指数
1
解决办法
2485
查看次数

在linux内核中添加了一个新的网络协议

我知道在linux内核中我们可以在传输层添加自己的协议,类似于TCP,UDP等.

是否有任何钩子在网络层注册新协议,类似于IP,ARP,它可以将数据包传输到应用程序以及如何在Linux内核中添加此协议?

c linux networking kernel linux-kernel

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

在mathematica中获得Re [x]的结果

我试图获得涉及未定义变量的操作结果的真实部分(比方说x).

如果我知道永远不会是一个复杂的数字x,我怎么能在执行时返回Mathematica ?我认为这涉及告诉Mathematica这是真实的,但我不知道如何.Re[x]xx

在我的例子中,我想要实际部分的表达式比简单变量更复杂,但概念将保持不变.

一些例子:

INPUT              OUTPUT         DESIRED RESULT
-----              ------         --------------
Re[x]              Re[x]          x
Re[1]              1              1
Re[Sin[x]]         Re[Sin[x]]     Sin[x]
Re[1+x+I]          1 + Re[x]      1+x
Re[1 + x*I]        1-Im[x]        1
Run Code Online (Sandbox Code Playgroud)

wolfram-mathematica

6
推荐指数
3
解决办法
359
查看次数

Python中的继承?

假设我有以下python基类:

class BaseClass(object):
    def a():
        """This method uses method b(), defined in the inheriting class"""
Run Code Online (Sandbox Code Playgroud)

还有一个继承的类BaseClass:

class UsedByUser(BaseClass):
    def b():
        """b() is defined here, yet is used by the base class"""
Run Code Online (Sandbox Code Playgroud)

我的用户只会创建类的实例UsedByUser.典型用途是:

if __name__ == '__main__':
    # initialize the class used by the user        
    usedByUser = UsedByUser()

    # invoke method a()
    usedByUser.a()
Run Code Online (Sandbox Code Playgroud)

我的问题是,上述使用是否有问题?这是一个有效的办法,还是要我还定义方法b()BaseClass,然后覆盖它UsedByUser

python

3
推荐指数
1
解决办法
1200
查看次数

是否有一种干净的方法来通过python检查计算机上是否存在给定用户?

目前我正在使用pwd.getpwall(),它显示了整个密码数据库.但我只想要计算机的用户帐户.使用getpwall()我无法做到这一点......

if 'foo' in pwd.getpwall():
     do stuff
Run Code Online (Sandbox Code Playgroud)

因为pwd.getpwall()返回一个对象列表.如果我想检查用户是否存在,我将不得不做一个循环.我认为有一种更简单的方法可以做到这一点.

python operating-system pwd

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

Vim:保存 FocusLost 并执行自动命令

我已经设置了我的 vim 编辑器(我使用 MacVim)在焦点丢失时自动保存文件:

autocmd FocusLost * silent! wall
Run Code Online (Sandbox Code Playgroud)

我还使用这个自动命令从 python 文件中自动去除尾随空格:

autocmd BufWritePre *.py :%s/\s\+$//e
Run Code Online (Sandbox Code Playgroud)

当我手动保存文件(通过键入:w或按?s)时,此自动命令可以完美运行,但是当我切换到另一个应用程序并自动写入缓冲区时,它不会被执行(即没有删除空格)。

如何修改这些自动命令以使其协同工作?

vim autocmd

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

Python迭代器行为

给定一个任意输入字符串,我想找到该字符串中所有数字的总和.这显然要求我在迭代它时知道字符串中的NEXT元素......并决定它是否为整数.如果前一个元素也是一个整数,则这两个元素形成一个新的整数,所有其他字符都被忽略,依此类推.

例如输入字符串

ab123r.t5689yhu8 
Run Code Online (Sandbox Code Playgroud)

应该导致总和123 + 5689 + 8 = 5820.

这一切都是在不使用正则表达式的情况下完成的.

我已经在python中实现了一个迭代器,我认为其(next())方法返回下一个元素,但是传递输入字符串

acdre2345ty 
Run Code Online (Sandbox Code Playgroud)

我得到以下输出

a
c
d
r
e
2
4
t
y
Run Code Online (Sandbox Code Playgroud)

有些数字3和5缺失了......为什么会这样?我需要next()为我工作,以便能够筛选输入字符串并正确地进行计算

更好的是,我应该如何实现下一个方法,以便在给定的迭代期间直接生成元素?

这是我的代码

class Inputiterator(object):
    '''
    a simple iterator to yield all elements from a given
    string successively from  a given input string
    '''
    def __init__(self, data):
        self.data = data
        self.index = 0

    def __iter__(self):
        return self

    def next(self):
        """
        check whether we've reached the end of the input
        string, if not continue …
Run Code Online (Sandbox Code Playgroud)

python iterator generator

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