Tag: python

用于python 2.7的memoization库

我发现python 3.2在functools库中有memoization作为装饰器。 http://docs.python.org/py3k/library/functools.html#functools.lru_cache 不幸的是,它还没有回到2.7。 有没有什么特定的原因,为什么它不能在2.7? 有没有第三方库提供相同的function,或者我应该写我自己的?

UnicodeEncodeError:'ascii'编解码器不能在位置3编码字符u'\ u2013'2:序号不在范围内(128)

我正在使用xlrdparsing一个xsl文件。 大部分的事情工作正常。 我有一个字典,其中键是string,值是string列表。 所有的键和值都是unicode。 我可以使用str()方法打印大部分的键和值。 但有些值具有unicode字符 – 我得到上述错误。 我怀疑这是因为这是unicodeembedded在unicode和python解释器无法解码它。 那么我怎样才能摆脱这个错误呢? 提前致谢。

在使用sqlalchemy的声明性ORM扩展时使用多列索引

根据文档: http : //docs.sqlalchemy.org/en/latest/core/constraints.html#indexes 以及sqlalchemy.Column类中的注释,我们应该使用sqlalchemy.schema.Index类来指定包含多个多重索引的索引。 但是,该示例显示了如何通过直接使用Table对象来执行此操作: meta = MetaData() mytable = Table('mytable', meta, # an indexed column, with index "ix_mytable_col1" Column('col1', Integer, index=True), # a uniquely indexed column with index "ix_mytable_col2" Column('col2', Integer, index=True, unique=True), Column('col3', Integer), Column('col4', Integer), Column('col5', Integer), Column('col6', Integer), ) # place an index on col3, col4 Index('idx_col34', mytable.c.col3, mytable.c.col4) 如果我们使用声明式的ORM扩展,我们应该怎么做呢? […]

Python中open和codecs.open的区别

有两种方法可以在Python中打开文本文件: f = open(filename) 和 import codecs f = codecs.open(filename, encoding="utf-8") codecs.open什么时候可以open ?

将列表的string表示转换为实际的列表对象

我有一个看起来与列表完全相同的string,让我们说: fruits = "['apple', 'orange', 'banana']" 将它转换为列表对象的方式是什么?

为什么variables1 + =variables2比variables1 =variables1 +variables2快得多?

我已经inheritance了一些Python代码,用于创build巨大的表(最多19列5000行)。 桌子在屏幕上画了九秒 。 我注意到每行都是使用这个代码添加的: sTable = sTable + '\n' + GetRow() 其中sTable是一个string。 我改变了: sTable += '\n' + GetRow() 我注意到桌子现在出现在六秒钟内 。 然后我改变它: sTable += '\n%s' % GetRow() 基于这些Python性能提示 (仍然是六秒钟)。 由于这被称为约5000次,它突出了性能问题。 但为什么会有这么大的差别呢? 为什么编译器没有在第一个版本中发现问题并对其进行优化?

MANIFEST.in忽略“python setup.py install” – 没有安装数据文件?

这是我的精简setup.py脚本,删除了非代码的东西: #!/usr/bin/env python from distutils.core import setup from whyteboard.misc import meta setup( name = 'Whyteboard', version = meta.version, packages = ['whyteboard', 'whyteboard.gui', 'whyteboard.lib', 'whyteboard.lib.pubsub', 'whyteboard.lib.pubsub.core', 'whyteboard.lib.pubsub.utils', 'whyteboard.misc'], py_modules = ['whyteboard'], scripts = ['whyteboard.py'], ) MANIFEST.in: include *.txt include whyteboard-help/*.* recursive-include locale *.mo recursive-include images *.png 当我运行“python setup.py install sdist”时,我用“whyteboard-0.41”根文件夹获得了一个不错的.tar.gz文件,里面有我的locale / images /和whyteboard-help /文件夹。 这也有我的whyteboard.py脚本从whyteboard源码包里面启动我的程序。 所以: […]

在ConfigParser中保存大小写?

我试图使用Python的ConfigParser模块来保存设置。 对于我的应用程序来说,重要的是我保留每个部分的名称。 文档中提到将str()传递给ConfigParser.optionxform()可以完成这个任务,但是这对我不起作用。 名字都是小写的。 我错过了什么吗? <~/.myrc contents> [rules] Monkey = foo Ferret = baz 我得到的Python伪代码: import ConfigParser,os def get_config(): config = ConfigParser.ConfigParser() config.optionxform(str()) try: config.read(os.path.expanduser('~/.myrc')) return config except Exception, e: log.error(e) c = get_config() print c.options('rules') [('monkey', 'foo'), ('ferret', 'baz')]

unit testing是否有可能声明一个方法调用sys.exit()

我有一个有时调用的Python 2.7方法 sys.exit(1) 是否有可能进行unit testing,validation这条代码被称为满足正确的条件时?

如何从透明背景的matplotlib导出图块?

我正在使用matplotlib来制作一些图表,不幸的是我不能在没有白色背景的情况下导出它们。 换句话说,当我输出这样一个情节,并把它放在另一个图像的顶部时,白色的背景隐藏了它的背后,而不是让它显示出来。 我怎样才能用透明的背景导出地块?