小编tef*_*ozi的帖子

将Python字典序列化为XML

有一个名为"simplejson"的简单JSON序列化模块,它可以轻松地将Python对象序列化为JSON.

我正在寻找可以序列化为XML的类似模块.

python xml serialization xml-serialization

62
推荐指数
4
解决办法
7万
查看次数

如何列出所有类属性

我有类SomeClass属性.例如idname:

class SomeClass(object):
    def __init__(self):
        self.__id = None
        self.__name = None

    def get_id(self):
        return self.__id

    def set_id(self, value):
        self.__id = value

    def get_name(self):
        return self.__name

    def set_name(self, value):
        self.__name = value

    id = property(get_id, set_id)
    name = property(get_name, set_name)
Run Code Online (Sandbox Code Playgroud)

列出属性的最简单方法是什么?我需要这个序列化.

python serialization properties

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

Flex中的StringBuilder

我正在寻找Flex中的快速字符串连接类.就像Java中的StringBuilder一样.

谢谢

apache-flex actionscript actionscript-3

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

有没有办法在Flex中格式化String

有可能做这样的事情:

var s:String = format("%20d %-10s %s", time, type, message);
Run Code Online (Sandbox Code Playgroud)

在C,C++,C#,Python和Perl等语言中,有类似于我的例子,但我似乎无法为Flex找到它.

我不想为我要格式化的每个字符串创建特殊的类Formatter.

apache-flex string format

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

Django继承模型的序列化

我有一个Django继承模型序列化的问题.例如

class Animal(models.Model):
    color = models.CharField(max_length=50)

class Dog(Animal):
    name = models.CharField(max_length=50)

...
# now I want to serialize Dog model with Animal inherited fields obviously included
print serializers.serialize('xml', Dog.objects.all())
Run Code Online (Sandbox Code Playgroud)

只有Dog模型已被序列化.

我可以做得像

all_objects = list(Animal.objects.all()) + list(Dog.objects.all())
print serializers.serialize('xml', all_objects)
Run Code Online (Sandbox Code Playgroud)

但它看起来很难看,因为我的模型非常大,所以我必须使用SAX解析器,并且使用这样的输出很难解析.

知道如何用父类序列化django模型吗?

**编辑:**在使用此补丁之前,它可以正常工作.并解释为什么补丁存在"模型保存在反序列化期间过于积极地创建新的父类实例.模型上的原始保存现在跳过保存父类."我认为应该有一个选项可以序列化"本地仅字段"默认情况下和第二个选项 - "全部" - 序列化所有继承的字段.

python django serialization

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

Django模型反序列化与空PK

我已经序列化了我的django模型:

serializers.serialize(MyModel.objects.filter(color="Red"))
Run Code Online (Sandbox Code Playgroud)

得到这个输出:

<object model="example.example" pk="133">
    <field name="name" type="CharField">John Smith</field>
    <field name="color" type="CharField">Red</field>
    ... #more fields
</object>
Run Code Online (Sandbox Code Playgroud)

所以你可以看到我有pk ="133":

现在我想再次将其反序列化为django模型并将()保存到数据库中,但是使用不同的pk,因此它应该创建具有新id的新记录.

我正在尝试解析XML并使用以下方法更改pk:

  • pk ="" - 解析器抱怨pk应该是整数
  • pk =" - 1"或"0" - 实际创建id/pk ="1"或"0"的记录
  • pk ="None"或None或"null" - 解析器抱怨pk应该是整数
  • 删除"pk"属性 - 解析器抱怨该属性是必需的

在Django Serialization一文中,有一个例子如何使用null"pk"从JSON反序列化.

# You can easily create new objects by deserializing data with an empty PK
# (It's easier to demo this with JSON...)
>>> new_author_json = '[{"pk": null, "model": "serializers.author", "fields": {"name": "Bill"}}]'
>>> for obj in serializers.deserialize("json", new_author_json): …
Run Code Online (Sandbox Code Playgroud)

django serialization

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

在浏览器中捕获热键

我正在做SWF应用程序,它将在浏览器中运行.我想CTRL+F在Flex应用程序聚焦时捕获按键事件.

在Firefox中它工作正常,但在Opera和Safari浏览器中捕获Flex应用程序和查找对话框弹出窗口之前的事件.

有没有办法让flex应用程序捕获CTRL+F事件先前的浏览器?

apache-flex actionscript cross-browser

7
推荐指数
1
解决办法
1413
查看次数

使用lambda getter和setter创建属性

我有这样的事情:

class X():
    def __init__(self):
        self.__name = None

    def _process_value(self, value):
        # do something
        pass

    def get_name(self):
        return self.__name

    def set_name(self, value):
        self.__name = self._process_value(value)

    name = property(get_name, set_name)
Run Code Online (Sandbox Code Playgroud)

我可以替换get_nameset_name使用lambda函数吗?

我试过这个:

name = property(lambda self: self.__name, lambda self, value: self.__name = self.process_value(value))
Run Code Online (Sandbox Code Playgroud)

但编译器不喜欢我的setter函数.

python lambda properties

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

使用按钮粘贴剪贴板中的文本

我有控制栏按钮复制,剪切和粘贴,他们想要从剪贴板复制/粘贴一些文本/对象.

复制/剪切工作正常.使用CTRL + V粘贴和上下文菜单也可以正常工作.

但是,当我试图通过控制栏按钮单击处理程序访问剪贴板时,它会抛出错误

SecurityError: Error #2179: The Clipboard.generalClipboard object may only be read while processing a flash.events.Event.PASTE event.
at flash.desktop::Clipboard/getObjectReference()
at flash.desktop::Clipboard/convertNativeFormat()
at flash.desktop::Clipboard/getOriginal()
at flash.desktop::Clipboard/getData()
... 2 more
Run Code Online (Sandbox Code Playgroud)

我知道这是安全问题.

方法Clipboard.generalClipboard.getData()可用于读取系统剪贴板的内容,但仅在从处理flash.events.Event.PASTE事件的事件处理程序中调用它时.

但我必须实现粘贴控制栏按钮.我这样做了吗?

apache-flex clipboard paste

5
推荐指数
1
解决办法
6332
查看次数

在 Wicket 中向 ListView 动态添加组件

我想用“添加”按钮制作一个表格。按“添加”按钮后,新面板将添加到检票口 ListView 元素。我怎么做?我希望能够添加无限数量的行。

编辑:

InteractivePanelPage.html

<table>
    <tr>
        <td><a href="#" wicket:id="addPanelLink">Add Panel</a></td>
    </tr>
    <tr wicket:id="interactiveListView">
        <td>
        <span wicket:id="interactiveItemPanel"></span>
        </td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

交互式面板页面

// ... imports
public class InteractivePanelPage extends WebPage {
    public LinkedList<InteractivePanel> interactivePanels = new LinkedList<InteractivePanel>();

    private ListView<InteractivePanel> interactiveList;

    public InteractivePanelPage() {
        add(new AjaxLink<String>("addPanelLink") {
            private static final long serialVersionUID = 1L;

            @Override
            public void onClick(AjaxRequestTarget target) {
                try {
                    System.out.println("link clicked");

                    InteractivePanel newInteractivePanel = new InteractivePanel(
                            "interactiveItemPanel");
                    newInteractivePanel.setOutputMarkupId(true);

                    interactiveList.getModelObject().add(newInteractivePanel);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });

        interactivePanels.add(new …
Run Code Online (Sandbox Code Playgroud)

java wicket

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

Python将字符串转换为元组

例:

regular_string = "%s %s" % ("foo", "bar")

result = {}
result["somekey"] = regular_string,

print result["somekey"]
# ('foo bar',)
Run Code Online (Sandbox Code Playgroud)

为什么result["somekey"]元组现在不是字符串?

python

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

AjaxLink 的 Wicket AttributeModifier

在 wicket 中,AttributeModifier 不会更改 AjaxLink 的属性“class”。它应该更改类属性并更改链接的外观。

public class TestPage extends WebPage {
    private AjaxLink link1;
    private AjaxLink link2;

    public TestPage() {
        super();

        link1 = new AjaxLink("link1") {
            private static final long serialVersionUID = 1L;

            @Override
            public void onClick(AjaxRequestTarget target) {
                switchView("view1");
            }
        };

        link2 = new AjaxLink("link2") {
            private static final long serialVersionUID = 1L;

            @Override
            public void onClick(AjaxRequestTarget target) {
                switchView("view2");
            }
        };

        link1.setOutputMarkupId(true);
        link2.setOutputMarkupId(true);

        link1.add(new AttributeModifier("class", true, new Model<String>("active")));
        link2.add(new AttributeModifier("class", true, new Model<String>("inactive")));

        add(link1);
        add(link2);
    }

    private …
Run Code Online (Sandbox Code Playgroud)

java wicket

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

[0,行]和[1,行]是什么意思?更具体地说[和]

据我所知,它是从0到行,从1到行,但是包含哪些是排除的?

math range

0
推荐指数
1
解决办法
135
查看次数