小编S.L*_*ott的帖子

Java中类似Python的列表理解

由于Java不允许将方法作为参数传递,您使用什么技巧来实现Java中的列表理解?

我有一个字符串列表(ArrayList).我需要使用一个函数转换每个元素,以便我得到另一个列表.我有几个函数,它们将String作为输入,并返回另一个String作为输出.如何创建一个通用方法,可以将列表和函数作为参数给出,这样我就可以获得一个列表,并处理每个元素.在字面意义上是不可能的,但我应该使用什么技巧?

另一种选择是为每个较小的String处理函数编写一个新函数,它只是循环遍历整个列表,这有点不太酷.

python java parameters methods list-comprehension

52
推荐指数
4
解决办法
3万
查看次数

将REST添加到Django

我有一个很好用的Django应用程序.我正在添加REST服务.我正在寻找关于我的REST策略的一些额外输入.

这里有一些我正在绞尽脑汁的例子.

  • 现在,我正在使用带有一堆补丁的Django-REST API.
  • 我想回到简单地在Django中编写返回JSON结果的视图函数.
  • 我还可以看到在Apache中过滤REST请求并将它们路由到单独的非Django服务器实例.

请为每个答案指定一种方法,以便我们可以向上或向下投票.

python apache django rest

50
推荐指数
5
解决办法
3万
查看次数

命名Python记录器

在Django,我到处都有记录器,目前有硬编码的名字.

对于模块级日志记录(即,在视图函数模块中),我有这样做的冲动.

log = logging.getLogger(__name__)
Run Code Online (Sandbox Code Playgroud)

对于类级别的日志记录(即,在类__init__方法中),我有这样做的冲动.

self.log = logging.getLogger("%s.%s" % (
    self.__module__, self.__class__.__name__))
Run Code Online (Sandbox Code Playgroud)

在我解决几十次事件之前,我正在寻找第二意见getLogger("hard.coded.name").

这会有用吗?还有其他人用同样缺乏想象力的方式命名他们的记录器吗?

此外,我应该分解并为此日志定义编写类装饰器吗?

python django logging

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

如何安装SimpleJson Package for Python

http://pypi.python.org/pypi/simplejson

我只是潜入Python世界,并希望制作一个简单的twitter应用程序,需要安装simplejson但不知道如何设置它并让它工作..

我在Windows系统上

python simplejson

36
推荐指数
4
解决办法
11万
查看次数

根据日期从表中删除

任何人都可以帮助我删除早于特定日期的数据的脚本.

谢谢

sql-server

36
推荐指数
5
解决办法
12万
查看次数

计算Python中具有特定扩展名的文件数

我是Python的新手,我试图找出计算特定子目录中.TIF文件数量的最有效方法.

做了一些搜索,我发现了一个例子(我没有测试过),它声称要计算目录中的所有文件:

file_count = sum((len(f) for _, _, f in os.walk(myPath)))
Run Code Online (Sandbox Code Playgroud)

这很好,但我只需要计算TIF文件.我的目录将包含其他文件类型,但我只想计算TIF.

目前我使用以下代码:

tifCounter = 0
for root, dirs, files in os.walk(myPath):
    for file in files:    
        if file.endswith('.tif'):
            tifCounter += 1
Run Code Online (Sandbox Code Playgroud)

它工作正常,但循环对我来说似乎过多/昂贵.任何方式更有效地做到这一点?

谢谢.

python file count

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

在python中从`object`派生类

所以我只是学习python(我知道很多其他语言)而且我对某些东西感到困惑.我认为这是由于缺乏文档(至少我能找到).在一些网站上,我读过你应该从object以下方面派生你的课程:


class Base(object):
    pass

但我不知道那是做什么或为什么或何时应该这样做.我是否错过了关于此的官方文件?这是一个3.x功能吗?

python inheritance class

29
推荐指数
3
解决办法
9037
查看次数

合同设计和测试驱动开发

我正在努力改进我们小组的开发过程,我正在考虑如何最好地实现与测试驱动开发合同设计.看来这两种技术有很多重叠,我想知道是否有人对以下(相关)问题有所了解:

  • 除非您使用某种代码生成器根据合同生成单元测试,否则是否违反DRY原则才能使用TDD和DbC?否则,你必须在两个地方维持合同(测试和合同本身),或者我错过了什么?
  • TDD在多大程度上使DbC变得多余?如果我写得很好,那么它们不等同于写合同吗?如果我在运行时以及通过测试执行合同,我是否只能获得额外的好处?
  • 仅仅使用TDD而不是TDD与DbC相比,它更容易/更灵活吗?

这些问题的主要问题是这个更普遍的问题:如果我们已经正确地进行了TDD,如果我们也使用DbC,我们是否会从开销中获得显着的好处?

一些细节,虽然我认为这个问题主要与语言无关:

  • 我们的团队非常小,<10名程序员.
  • 我们大多使用Perl.

language-agnostic tdd project-management design-by-contract

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

在Django中自定义管理表单,同时还使用自动发现

我想修改Django内置django.contrib.auth模块的一些细节.具体来说,我想要一个不同的表单,使用户名成为一个电子邮件字段(并通过电子邮件发送一个备用电子邮件地址.(我不想修改auth任何超过必要的内容 - 简单的表单更改似乎就是所需要的.)

当我使用autodiscover自定义的时候ModelAdmin,auth我最终会与auth自己的管理界面冲突,并获得"已经注册"的错误.

看起来我必须创建自己的管理站点,枚举我的所有模型.它只有18个类,但它似乎是一个干燥问题 - 每个更改都需要添加到模型添加到自定义管理站点.

或者,我应该编写自己的" autodiscoverwith exclusions" 版本来基本导入所有admin模块,除了 auth

python forms django customization django-admin

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

使用装饰器进行Python日志记录

这是我们面对装饰时遇到的第一个例子.但是我无法意识到我到底想要什么.

一个名为LOG的简单装饰器.它应该像这样工作:

@LOG
def f(a, b=2, *c, **d):
    pass
Run Code Online (Sandbox Code Playgroud)

结果应该是这样的:

f(1, pippo=4, paperino='luca')
===== Enter f =====
a = 1
b = 2
pippo = 4
paperino = luca
===== Exit f =====
Run Code Online (Sandbox Code Playgroud)

将作为参数传递给函数的每个参数显示为其值.

我发现问题比我想象的更难,主要是因为你可以通过许多不同的方式将参数传递给函数(想想带有*c的元组或带有**d的字典).

我试过一个解决方案,但我不确定它是否正确.它有点像这样:

def LOG(fn):
    import inspect
    varList, _, _, default = inspect.getargspec(fn)
    d = {}
    if default is not None:
        d = dict((varList[-len(default):][i], v) for i, v in enumerate(default))
    def f(*argt, **argd):
        print ('Enter %s' % fn).center(100, '=')
        d.update(dict((varList[i], v) for i, v in enumerate(argt)))
        d.update(argd) …
Run Code Online (Sandbox Code Playgroud)

python logging introspection decorator

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