小编Jon*_*Jon的帖子

import gtk/glib产生ImportError:DLL加载失败

我在Windows XP SP3上从各自的网站安装了最新版本的python(2.6.5),gtk +,pygtk(和朋友).当您尝试导入gtk(或只是glib)时,会引发ImportError:

Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import gtk
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python26\lib\site-packages\gtk-2.0\gtk\__init__.py", line 38, in <module>
    import gobject as _gobject
  File "C:\Python26\lib\site-packages\gtk-2.0\gobject\__init__.py", line 26, in <module>
    from glib import spawn_async, idle_add, timeout_add, timeout_add_seconds, \
  File "C:\Python26\lib\site-packages\gtk-2.0\glib\__init__.py", line 22, in <module>
    from glib._glib import *
ImportError: DLL load failed: The …
Run Code Online (Sandbox Code Playgroud)

python gtk pygtk

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

使用python在GtkTreeview中更改所选项目颜色

我有一个对话框,其中包含pygtk.treeview,用于按优先级列出任务.每行具有基于该优先级设置的背景颜色,因此例如最高优先级具有浅红色背景.

行选择颜色不容易改变.我可以使用它来设置它treeview.modify_base(gtk.STATE_SELECTED, "#C4C4C4"),但没有颜色与用于增强优先级概念的颜色很好地配合.

我有想法将选择颜色更改为用作正常行背景的颜色的稍暗版本,因此在上面的示例中,这将是更深的红色.我尝试调用上面的函数来响应treeselection的changed信号,它可以工作,但是闪烁很重.

另一个想法是将选择更改为透明,并在其周围添加边框,但据我所知,这是不可能的.

  1. 如何在没有闪烁的情况下以上述方式更改选择颜色?
  2. 我可以通过在行周围只有一个边框来更改显示选择吗?

注意:我知道这违反了用户选择的主题.我觉得我有充分的理由.具有颜色指示的优先级使其可以立即识别.选择颜色隐藏了这一点.如果您有其他建议,我向他们开放,但需要保留用户识别优先级的便利性.

python gtk user-interface pygtk gtktreeview

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

使用dogpile根据修改的时间缓存下载的文件

我正在编写一个下载大文件(~150MB)的程序,并将数据解析为更有用的文本格式文件.下载,特别是解析的过程很慢(总共约20分钟),所以我想缓存结果.

下载的结果是一堆文件,解析的结果是单个文件,所以我可以手动检查这些文件是否存在,如果存在,检查修改时间; 但是,因为我已经在代码的其他地方使用带有redis后端的dogpile来进行Web服务调用,所以我想知道是否可以使用dogpile?

所以我的问题是:可以根据修改时间使用dogpile来缓存文件吗?

python caching dogpile.cache

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

使用SQLAlchemy和sqlite嵌套事务

我正在使用SQLAlchemy(和Elixir)用SQLite作为数据库后端在Python中编写应用程序.我使用代码启动一个新的事务session.begin_transaction(),但是当我调用时,session.rollback()我收到以下错误:

sqlalchemy.exceptions.OperationalError: (OperationalError) no such savepoint: sa_savepoint_1 u'ROLLBACK TO SAVEPOINT sa_savepoint_1' []
Run Code Online (Sandbox Code Playgroud)

我也收到类似的错误session.commit().据我所知,sqlite支持SAVEPOINTS(http://www.sqlite.org/lang_savepoint.html).

如何使嵌套事务生效?

python sqlite sqlalchemy python-elixir

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

从另一个模块加载弹簧配置

我正在开发一个包含子模块的spring应用程序,大致如下所示:

project
|-- module1
|   |-- src
|   |   `-- main
|   |       |-- java
|   |       `-- resources
|   |           |-- applicationContext.xml
|   |           `-- web.xml
|   `-- pom.xml
|-- module2
|   |-- src
|   |   `-- main
|   |       |-- java
|   |       `-- resources
|   |           `-- batch-jobs.xml
|   `-- pom.xml
`-- pom.xml
Run Code Online (Sandbox Code Playgroud)

module1包含Web应用程序配置. module2包含spring-batch用于运行配置的批处理作业batch-jobs.xml.

在里面applicationContext.xml我有以下几行:

<import resource="classpath*: batch-jobs.xml" />
Run Code Online (Sandbox Code Playgroud)

据我所知,这个文件正在加载.我假设这是因为之前我正在使用classpath: batch-jobs.xml(没有*),它找不到文件.

尽管加载了这个文件,但我得到了一个NoSuchBeanDefinitionException.如果我将所有内容从中复制 …

configuration spring spring-batch

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

指定枚举字段类型的排序顺序

我有一个使用Enum字段类型的模型:

from sqlalchemy import Column, Enum, Integer, String

class Task(Base):
    __tablename__ = 'tasks'

    id = Column(Integer, primary_key=True)
    summary = Column(String)
    priority = Column(Enum('low', 'medium', 'high'))
Run Code Online (Sandbox Code Playgroud)

如果我按优先级(Enum)对记录进行排序,则按字母顺序排序:

high
low
medium
Run Code Online (Sandbox Code Playgroud)

如何指定此字段的排序顺序?

python sqlalchemy

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

从python中的java代码重现uuid

在Java应用程序中,创建文件,其中文件名是从使用该函数创建的蛋白质序列(例如TTCCPSIVARSNFNVCRLPGTPEAICATYTGCIIIPGATCPGDYAN)生成的UUID UUID.nameUUIDFromBytes.这导致UUID c6a0deb5-0c4f-3961-9d19-3f0fde0517c2.

UUID.namedUUIDFromBytes不将名称空间作为参数,而在python uuid.uuid3中则不行.根据JDK使用什么命名空间来生成名称为UUIDFromBytes的UUID?,命名空间应该作为名称的一部分传递,但是不再可能更改java代码.

有没有办法在python代码中创建自定义命名空间,以便它将生成与Java代码相同的UUID?

python java uuid

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

Android全屏对话框显示透明且位置错误

我正在尝试在我的Android应用程序中添加一个对话框,它在小型设备(例如手机)上是全屏的,但在大型设备(例如平板电脑)上是标准对话框.这遵循材料设计规范中规定的逻辑.

使用官方的android对话框指南,使用DialogFragment,我最终得到一个覆盖操作栏的透明对话框:

在此输入图像描述

以下是源代码.

main.xml中

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.CoordinatorLayout
        android:id="@+id/toolbar_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <!-- Use ThemeOverlay to make the toolbar text white -->
        <android.support.design.widget.AppBarLayout
            android:id="@+id/abl_top"
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:fitsSystemWindows="true"
                android:layout_height="wrap_content"
                android:layout_width="match_parent"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
                app:layout_scrollFlags="scroll|enterAlways"/>

        </android.support.design.widget.AppBarLayout>
    </android.support.design.widget.CoordinatorLayout>

    <FrameLayout
        android:id="@+id/content"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end|bottom"
        android:layout_margin="10dp"
        android:src="@drawable/ic_add"
        android:clickable="true"/>

</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

MainActivity.java

package com.example.fsdialog;

import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.app.ActionBar;
import android.support.v7.widget.Toolbar;
import android.view.View;

public class MainActivity extends …
Run Code Online (Sandbox Code Playgroud)

android android-dialogfragment material-design

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

用户定义的异常有什么好名字?

这个问题涵盖了广泛的编程语言; 但是,在这种情况下,我特别使用Python.

我想创建一些用户定义的异常,但我不确定它们应该是多么精细.例如,如果我有以下类:

class Race(object):
    def __init__(self, start_time, end_time):
        if end_time < start_time:
            raise WhatToNameThisError
        self._start_time = start_time
        self._finish_time = end_time
Run Code Online (Sandbox Code Playgroud)

如果完成时间发生在开始时间之前,我想要提出异常,但我可以调用它吗?

  • RaceError(与Race类相关的所有异常都可以使用它,并且消息可以区分它们)
  • RaceFinishTimeBeforeStartTime(更具体,但意味着我确切地知道我正在捕捉什么)

我确信还有其他方法可以看到这一点,因此有更多选择来命名异常.是否有任何标准或指南概述这一点?

python exception-handling exception

4
推荐指数
1
解决办法
319
查看次数

如何使用python/PIL将图像存储到redis中

我正在使用python和Image模块(PIL)来处理图像.

我想将图像对象的原始位流存储到redis,以便其他人可以使用nginx和httpredis直接从redis读取图像.

所以,我的问题是如何获取Image对象的原始位并将其存储到redis中.

python redis python-imaging-library

4
推荐指数
1
解决办法
6108
查看次数

如何检查复选框是否启用?

如何勾选复选框是否启用?在 selenium + Testng 中,在应用程序中单击复选框将被启用,我需要验证复选框是否已启用。提前谢谢。

testng selenium

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

组合和函数应用的区别

99 Haskell Problems 中的第一个问题是“找到列表的最后一个元素”。我想出了两个解决方案:

解决方案 1(这有效)

myLast :: [a] -> a
myLast = head . reverse
Run Code Online (Sandbox Code Playgroud)

解决方案2(这不起作用)

myLast :: [a] -> a
myLast = head $ reverse
Run Code Online (Sandbox Code Playgroud)

  • 为什么解决方案 1 有效,但解决方案 2 无效?我最困惑的是这两种实现都没有提供模式匹配。

haskell

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

如何注册oauth2客户端?

我正在编写oauth2提供程序,但不确定如何实现客户端注册.该的oauth2规范不涉及这方面的:

客户端向授权服务器注册的方法超出了本规范的范围,但通常涉及最终用户与HTML注册表单的交互.

此外,oauthlib 文档还有以下关于Client数据模型的说明:

通常的做法是将每个客户端与您现有的一个用户链接起来.无论您是否关联客户端和用户,请确保您能够保护自己免受恶意客户端的侵害.

现在我肯定会喜欢保护自己免受恶意客户端的攻击,但如果注册用户需要注册客户端,我如何将客户端链接到用户?

的oauth2规范再有话要说这一点,但它很神秘:

客户端注册不需要客户端和授权服务器之间的直接交互.当授权服务器支持时,注册可以依赖于其他方式来建立信任并获得所需的客户端属性(例如,重定向URI,客户端类型).例如,可以使用自发布或第三方发布的断言来完成注册,或者通过使用可信通道执行客户端发现的授权服务器来完成注册.

问题

  • 如果注册用户需要注册客户端,如果需要链接到用户,应该如何注册客户端?
  • 如果不需要链接到用户,应该如何注册客户?'重定向URI,客户端类型和第三方发布的断言是什么意思?

python oauth-2.0

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