小编Sta*_*ale的帖子

在Python中获取方法参数名称

鉴于Python函数:

def a_method(arg1, arg2):
    pass
Run Code Online (Sandbox Code Playgroud)

如何提取参数的数量和名称.即,鉴于我有一个func的引用,我想要返回func.[something]("arg1","arg2").

这种情况的使用场景是我有一个装饰器,我希望使用方法参数的顺序与它们为实际函数出现的顺序相同.也就是说,当我调用aMethod("a","b")时,装饰器看起来会打印出"a,b"吗?

python introspection decorator python-datamodel

214
推荐指数
10
解决办法
12万
查看次数

如何在Python中检查ip是否在网络中?

给定一个IP地址(比如192.168.0.1),如何在Python中检查它是否在网络中(比如192.168.0.0/24)?

Python中是否有用于ip地址操作的通用工具?像主机查找,ip adddress到int,网络地址与netmask到int等等?希望在2.5的标准Python库中.

python networking ip-address cidr

88
推荐指数
11
解决办法
12万
查看次数

如何在Python中获取类的文件路径?

给定Python中的C类,如何确定该类定义的文件?我需要一些可以在C类或C语言实例中起作用的东西.

我这样做的原因是因为我一般都喜欢把属于同一文件夹的文件放在同一个文件夹中.我想创建一个使用Django模板将其自身呈现为HTML的类.基本实现应该根据定义类的文件名推断模板的文件名.

假设我在类"base/artifacts.py"中放置了一个类LocationArtifact,那么我希望默认行为是模板名称为"base/LocationArtifact.html".

python class introspection

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

python的通用catch

我有一些非常奇怪的行为,似乎导致了无声的异常.如何编写一般的try catch,我可以调试所有异常.有点像:

try:
    # something that fails
except e:
    print e
Run Code Online (Sandbox Code Playgroud)

更多关于手头问题的详细信息:

我有一个Django应用程序,在我的comp(Ubuntu Linux 8.10)上通过runserver和mod-python工作正常.在部署服务器(Ubunut Linux 8.10)上,它可以通过runserver正常工作,但是在mod-python中通过apache失败了.

我已经将原因缩减为使用Berkeley DB(bsddb.db)和辅助密钥的应用程序的一部分.辅助键的回调方法使用pickle来格式化键.当我在单个值上调用pickle时失败.但是,它只在我使用cPickle时失败,并且在回调函数之外的相同值上使用pickle也有效.

我只是想知道它为什么用cPickle失败了.

python exception

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

Python中的Decorator类

我想构造用作装饰器的类,原则如下:

  1. 应该可以在top off 1函数上堆叠多个这样的类装饰器.
  2. 生成的函数名称指针应该与没有装饰器的同一函数无法区分,可以保存它的类型/类.
  3. 除非装饰者实际要求,否则对装饰器进行排序不应该是相关的.IE浏览器.独立装饰者可以按任何顺序应用.

这是一个Django项目,我正在处理的具体情况现在该方法需要2个装饰器,并显示为普通的python函数:

@AccessCheck
@AutoTemplate
def view(request, item_id) {}
Run Code Online (Sandbox Code Playgroud)

@AutoTemplate更改了函数,以便它不返回HttpResponse,而只返回一个字典以供在上下文中使用.使用RequestContext,并从方法名称和模块推断模板名称.

@AccessCheck根据item_id添加对用户的附加检查.

我猜这只是为了让构造函数正确并复制适当的属性,但这些属性是什么?

以下装饰器不会像我描述的那样工作:

class NullDecl (object):
    def __init__ (self, func):
        self.func = func
    def __call__ (self, * args):
        return self.func (*args)
Run Code Online (Sandbox Code Playgroud)

如以下代码所示:

@NullDecl
@NullDecl
def decorated():
    pass

def pure():
    pass

# results in set(['func_closure', 'func_dict', '__get__', 'func_name',
# 'func_defaults', '__name__', 'func_code', 'func_doc', 'func_globals'])
print set(dir(pure)) - set(dir(decorated));
Run Code Online (Sandbox Code Playgroud)

此外,尝试添加"打印FUNC.名称在NullDecl构造函数,它会为第一个装饰工作,而不是第二个" -正如名字将会丢失.

精致的eduffy的回答有点,而且看起来效果很好:

class NullDecl (object):
    def __init__ (self, func):
        self.func = func
        for n …
Run Code Online (Sandbox Code Playgroud)

python decorator

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

始终将用户包含在django模板上下文中

我正在一个小型公司的小型内部网站上工作,用户应该能够发布.我想象了一种非常简单的身份验证机制,人们只需输入他们的电子邮件地址,就会收到一个唯一的登录URL,它会设置一个cookie,以便在将来的请求中识别它们.

在我的模板设置中,我有base.html,其他页面扩展了这个.我想在base.html中显示登录或注册按钮,但是如何确保必要的变量始终是上下文的一部分?似乎每个视图都只是根据自己的喜好设置上下文,并且没有全局上下文填充.有没有办法在不在每个上下文创建中包含用户的情况下执行此操作?

或者我是否必须制作自己的自定义快捷方式才能正确设置上下文?

python authentication django cookies session

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

如何在django中生成网址

在Django的模板语言中,您可以使用{% url [viewname] [args] %}生成带有参数的特定视图的URL.你怎么能以编程方式在Python代码中做同样的事情?

我需要的是创建一个菜单项列表,其中每个项目都有名称,URL和活动标志(无论它是否是当前页面).这是因为在Python中执行此操作比使用模板语言要清晰得多.

python django url django-urls

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

如何在python或Javascript中从UTM转换为LatLng

我有一堆坐标为UTM格式的文​​件.对于每个坐标,我有东,北和区.我需要将其转换为LatLng,以便与Google Map API一起使用,以便在地图中显示信息.

我找到了一些这样做的在线计算器,但没有实际的代码或库.http://trac.osgeo.org/proj4js/是Javascript的投影库,但是看一下它不包括UTM投影的演示.

我对整个GIS领域仍然很新鲜,所以我想要的是ala:

(lat,lng) = transform(easting, northing, zone)
Run Code Online (Sandbox Code Playgroud)

javascript python gis proj4js arcgis-js-api

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

Python unittest与昂贵的设置

我的测试文件基本上是:

class Test(unittest.TestCase):
    def testOk():
        pass

if __name__ == "__main__":
    expensiveSetup()
    try:
        unittest.main()
    finally:
        cleanUp()
Run Code Online (Sandbox Code Playgroud)

但是,我确实希望通过Netbeans测试工具运行我的测试,为此,我需要不依赖于在main中完成的环境设置的单元测试.综观单元测试使用Python安装程序的缓存结果() -它建议使用鼻子.但是,我不认为Netbeans支持这一点.我没有找到任何表明它的信息.另外,我是这里唯一一个实际编写测试的人,所以除非需要,否则我不想为其他2个开发人员引入额外的依赖项.

对于TestSuite中的所有测试,如何进行一次设置和清理?

这里昂贵的设置是创建一些带有虚拟数据的文件,以及设置和拆除一个简单的xml-rpc服务器.我还有2个测试类,一个在本地测试,另一个在xml-rpc上测试所有方法.

python unit-testing

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

是否可以使用JavaScript操作嵌入在HTML文档中的SVG文档?

我制作了一个SVG图像,或者更像是迷你应用程序,用于查看数据图形.我想将它包含在HTML页面中,并调用SVG图像上的方法.

例:

<object id="img" data="image.svg" width="500" height="300"/>
<script>document.getElementById("img").addData([1,23,4]);</script>
Run Code Online (Sandbox Code Playgroud)

是否可以在SVG文档上调用方法?如果是这样,我如何声明要在SVG文件中公开的方法,以及如何从HTML文档中调用它们?

html javascript svg

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