小编nos*_*klo的帖子

如何在其他平台上完成系统托盘应用程序?

Windows有"系统托盘",可存放时钟和运行良好的服务,如MSN,Steam等.

我想开发一个wxPython托盘应用程序,但我想知道它将如何移植到其他平台.每个平台上的托盘等价物是多少,以及支持Windows,OSX和Linux需要多少手动工作(特别是哪些shell最友好).

python operating-system wxpython cross-platform system-tray

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

如何从CPython调用java对象和函数?

我有一个python程序,它运行在CPython实现上,在其中我必须调用java程序中定义的函数.我怎样才能做到这一点?

能够使用一些java对象会很高兴.

Jython不是一个选择.我必须在CPython中运行python部分.

python java function language-interoperability

11
推荐指数
3
解决办法
8277
查看次数

为SQLAlchemy Declarative Base重写__cmp __,__ eq__和__hash__

我要重写__cmp__,__eq____hash__这样我就可以在SQLAlchemy的声明基本型号做的一组操作.这是否会导致与声明式基本实现发生冲突?

python sqlalchemy

10
推荐指数
2
解决办法
1421
查看次数

我应该在C++之后学习Python吗?

我目前正在学习C++,想学习另一种语言.
对于工作,我使用C#+ ASP(实际上刚刚开始学习它),但我想要"少微软"和强大的东西.
我听说Python是一种流行且强大的语言,不像C++那么复杂.但是很多人提到他们很难从Python回到C++/Java,因为他们开始考虑它,习惯于没有内存管理等等.你推荐什么?

c++ python

9
推荐指数
2
解决办法
7770
查看次数

将apache2摘要认证信息传递给mod_wsgi运行的wsgi脚本

我有指令

<VirtualHost *>
    <Location />
        AuthType Digest
        AuthName "global"
        AuthDigestDomain /
        AuthUserFile /root/apache_users
        <Limit GET>
            Require valid-user
        </Limit>
    </Location>
    WSGIScriptAlias / /some/script.wsgi
    WSGIDaemonProcess mywsgi user=someuser group=somegroup processes=2 threads=25
    WSGIProcessGroup mywsgi
    ServerName some.example.org
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我想在/some/script.wsgi中知道

def application(environ, start_response):
    start_response('200 OK', [
        ('Content-Type', 'text/plain'),
    ])
    return ['Hello']
Run Code Online (Sandbox Code Playgroud)

用户登录的是什么

我怎么做?

python apache authentication mod-wsgi wsgi

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

在ubuntu上使用pyodbc在SQL Server上插入图像字段

我正在使用Ubuntu 9.04

我安装了以下软件包版本:

unixodbc and unixodbc-dev: 2.2.11-16build3
tdsodbc: 0.82-4
libsybdb5: 0.82-4
freetds-common and freetds-dev: 0.82-4
python2.6-dev
Run Code Online (Sandbox Code Playgroud)

我这样配置/etc/unixodbc.ini:

[FreeTDS]
Description             = TDS driver (Sybase/MS SQL)
Driver          = /usr/lib/odbc/libtdsodbc.so
Setup           = /usr/lib/odbc/libtdsS.so
CPTimeout               = 
CPReuse         = 
UsageCount              = 2
Run Code Online (Sandbox Code Playgroud)

我这样配置/etc/freetds/freetds.conf:

[global]
    tds version = 8.0
    client charset = UTF-8
    text size = 4294967295
Run Code Online (Sandbox Code Playgroud)

我已经抓住pyodbc修订31e2fae4adbf1b2af1726e5668a3414cf46b454fhttp://github.com/mkleehammer/pyodbc,并使用安装了" python setup.py install"

我在我的本地网络上安装了一台安装了Microsoft SQL Server 2000的Windows机器,然后侦听本地IP地址10.32.42.69.我有一个名为"Common"的空数据库.我有用户"sa",密码为"secret",具有完全权限.

我使用以下python代码来设置连接:

import pyodbc
odbcstring = "SERVER=10.32.42.69;UID=sa;PWD=secret;DATABASE=Common;DRIVER=FreeTDS"
con = pyodbc.connect(odbcstring) …
Run Code Online (Sandbox Code Playgroud)

python sql-server image pyodbc freetds

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

从列表中删除数字而不更改总和

我有一个数字列表(例如:) [-1, 1, -4, 5],我必须从列表中删除数字而不更改列表的总和.我想删除具有最大绝对值的数字,而不改变总数,在示例中删除[-1, -4, 5]将离开,[1]因此总和不会改变.

我写了一个天真的方法,即找到所有可能的组合,这些组合不会改变总数,看看哪一个去除了最大的绝对值.但这确实很慢,因为实际列表会比这要大得多.

这是我的组合代码:

from itertools import chain, combinations

def remove(items):
    all_comb = chain.from_iterable(combinations(items, n+1) 
                                   for n in xrange(len(items)))
    biggest = None
    biggest_sum = 0
    for comb in all_comb:
        if sum(comb) != 0:
            continue # this comb would change total, skip
        abs_sum = sum(abs(item) for item in comb)
        if abs_sum > biggest_sum:
            biggest = comb
            biggest_sum = abs_sum
    return biggest

print remove([-1, 1, -4, 5])
Run Code Online (Sandbox Code Playgroud)

它核心打印(-1, -4, 5).然而,我正在寻找一些比循环所有可能的项目组合更聪明,更有效的解决方案. …

python math combinations sum mathematical-optimization

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

sql server函数本机参数绑定错误

我在Ubuntu 10.04 Lucid LTS上使用以下软件堆栈来连接数据库:

  1. python 2.6.5(ubuntu包)
  2. pyodbc git trunk commit eb545758079a743b2e809e2e219c8848bc6256b2
  3. unixodbc 2.2.11(ubuntu包)
  4. freetds 0.82(ubuntu包)
  5. Windows与Microsoft SQL Server 2000(8.0)

尝试在SQL SERVER函数的参数中执行本机参数绑定时出现此错误:

Traceback (most recent call last):
 File "/home/nosklo/devel/testes/sqlfunc.py", line 32, in <module>
   cur.execute("SELECT * FROM fn_FuncTest(?)", ('test',))
pyodbc.ProgrammingError: ('42000', '[42000] [FreeTDS][SQL
Server]SqlDumpExceptionHandler: Process 54 generated fatal exception
c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this
process.\r\n (0) (SQLPrepare)')
Run Code Online (Sandbox Code Playgroud)

这是再现代码:

import pyodbc
constring = 'server=myserver;uid=uid;pwd=pwd;database=db;TDS_Version=8.0;driver={FreeTDS}'

con = pyodbc.connect(constring)
print 'VERSION: ', con.getinfo(pyodbc.SQL_DBMS_VER)

cur = con.cursor()
try:
   cur.execute('DROP FUNCTION fn_FuncTest')
   con.commit()
   print "Function …
Run Code Online (Sandbox Code Playgroud)

python sql-server unixodbc pyodbc freetds

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

为什么unicode()只在没有给出编码的情况下对我的对象使用str()?

我首先创建一个字符串变量,其中包含一些非ascii utf-8编码数据:

>>> text = 'á'
>>> text
'\xc3\xa1'
>>> text.decode('utf-8')
u'\xe1'
Run Code Online (Sandbox Code Playgroud)

使用unicode()它会引发错误......

>>> unicode(text)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0: 
                    ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

...但如果我知道编码,我可以将它用作第二个参数:

>>> unicode(text, 'utf-8')
u'\xe1'
>>> unicode(text, 'utf-8') == text.decode('utf-8')
True
Run Code Online (Sandbox Code Playgroud)

现在,如果我有一个在该__str__()方法中返回此文本的类:

>>> class ReturnsEncoded(object):
...     def __str__(self):
...         return text
... 
>>> r = ReturnsEncoded()
>>> str(r)
'\xc3\xa1'
Run Code Online (Sandbox Code Playgroud)

unicode(r)似乎使用str()它,因为它引起了与unicode(text) …

python unicode encoding

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

检测当前的异步库

我正在写一些异步库,并决定支持asynciotrio并发库来运行它。无论选择哪个库,我都有一些代码试图变得聪明并做正确的事情。

如何检测其中哪一个用于运行我的代码?两者都可以吗?

python async-await python-asyncio python-trio

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