小编Cha*_*son的帖子

在Python中,如何获得成员函数类的名称?

我有一个函数,它将另一个函数作为参数.如果函数是类的成员,我需要找到该类的名称.例如

def analyser(testFunc):
    print testFunc.__name__, 'belongs to the class, ...
Run Code Online (Sandbox Code Playgroud)

我想

testFunc.__class__ 
Run Code Online (Sandbox Code Playgroud)

会解决我的问题,但这只是告诉我testFunc是一个函数.

python reflection metaprogramming

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

如何使用jQuery执行服务器端Python脚本?

我有一个非常简单的Python文件,名为python1.py,其内容是:

f = open('C:\\Temp\\test.txt', 'w')
f.write('Succeeded')
f.close()
Run Code Online (Sandbox Code Playgroud)

我希望从JavaScript执行此操作,如下所示:

jQuery.ajax({
   type: "POST",
   url: "/cgi-bin/python1.py",
   success: function (msg) {
       alert("Data Saved: " + msg);
   }
});
Run Code Online (Sandbox Code Playgroud)

但是,所有发生的事情是我收到一条警告,向我显示Python脚本的内容.文件C:\ Temp\test.txt没有被创建,所以很明显Python没有被执行.

我如何说服代码执行Python脚本而不是只读它?

javascript python ajax jquery

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

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

HTML应该与代码共存吗?

在Web应用程序中,在代码中使用HTML(非脚本语言,Java,.NET)是否可以接受?

有两个主要的子问题:

  1. 您是否应该使用代码打印HTML,或者直接创建显示的HTML?
  2. 你应该在HTML页面中混合代码吗?

html user-interface

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

Windows PowerShell在哪里设置$ profile?

我想移动默认的"My Documents\WindowsPowerShell"文件夹.但是,当我尝试这个时,PowerShell当然找不到$ profile.是否有可以编辑的文件或其他内容将PowerShell指向其他启动文件夹?

powershell

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

问题在Python中对BaseException进行子类化

我想创建自己的Python异常类,如下所示:

class MyException(BaseException):
    def __init__(self, errno, address):
        if errno == 10048:
            mess = str(address) + ' is already in use'
        else:
            mess = 'Unable to open ' + str(address)
        BaseException.__init__(mess)
Run Code Online (Sandbox Code Playgroud)

但是当程序接到电话时BaseException.__init__(),我得到了这个追溯:

BaseException.__init__(mess)
TypeError: descriptor '__init__' requires a 'exceptions.BaseException' object but received a 'str'
Run Code Online (Sandbox Code Playgroud)

我认为BaseException将采用任何一组参数.另外,我应该如何将'exceptions.BaseException'对象传递给exceptions.BaseException的构造函数?

python inheritance exception

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

将py2app与lxml包一起使用时出现问题

我试图使用'py2app'从一些Python脚本生成一个独立的应用程序.Python使用'lxml'包,我发现我必须在'py2app'使用的setup.py文件中明确指定它.但是,生成的应用程序仍然无法在未安装"lxml"的计算机上运行.

我的Setup.py看起来像这样:

from setuptools import setup

OPTIONS = {'argv_emulation': True, 'packages' : ['lxml']}

setup(app=[MyApp.py],
      data_files=[],
      options={'py2app' : OPTIONS},
      setup_requires=['py2app'])
Run Code Online (Sandbox Code Playgroud)

运行该应用程序将生成以下输出:

MyApp Error
An unexpected error has occurred during execution of the main script
ImportError: dlopen(/Users/ake/XXXX/XXXX/MyApp.app/Contents/Resources/lib/python2.5/lxml/etree.so, 2): Symbol not found: _xmlSchematronParse
Referenced from: /Users/ake/XXXX/XXXX/MyApp.app/Contents/Resources/lib/python2.5/lxml/etree.so
Expected in: dynamic lookup
Run Code Online (Sandbox Code Playgroud)

符号'_xmlSchematronParse'来自名为'libxml2'的库,'lxml'依赖于它.预装Mac OS X的版本对于'lxml'来说不够新,所以我必须安装2.7.2版本(在/ usr/local中).由于某种原因,py2app链接在/Developer/SDKs/MacOSX10.3.9.sdk/usr/lib中的版本中.当我将我的应用程序作为Python脚本运行时,会找到正确的版本.(我刚刚通过隐藏2.7.2版本检查了这一点.)

所以现在我的问题是,如何告诉py2app在哪里寻找库?

python lxml py2app

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

JavaScript正则表达式文字在函数调用之间持续存在

我有这段代码:

function func1(text) {

    var pattern = /([\s\S]*?)(\<\?(?:attrib |if |else-if |else|end-if|search |for |end-for)[\s\S]*?\?\>)/g;

    var result;
    while (result = pattern.exec(text)) {
        if (some condition) {
            throw new Error('failed');
        }
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

这是有效的,除非执行throw语句.在这种情况下,下次调用该函数时,exec()调用从它停止的地方开始,即使我为它提供了一个新的'text'值.

我可以通过写作解决它

var pattern = new RegExp('.....');

相反,但我不明白为什么第一个版本失败了.正则表达式如何在函数调用之间保持不变?(这在最新版本的Firefox和Chrome中都会发生.)

编辑完整的测试用例:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
<title>Test Page</title>
<style type='text/css'>
body {
    font-family: sans-serif;
}
#log p {
    margin:     0;
    padding:    0;
}
</style>
<script type='text/javascript'>
function func1(text, count) {

    var pattern = /(one|two|three|four|five|six|seven|eight)/g;

    log("func1");
    var result;
    while …
Run Code Online (Sandbox Code Playgroud)

javascript regex

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

jQuery正在向节点添加一个奇怪的属性

我正在使用IE8和jQuery 1.4.2.我的网页不再正确呈现,并且在HTML的调试器中快速查看每个元素现在都有一个名为"jQuery1279875396122"的新属性,其值是一个小整数,显然对每个节点都是唯一的.

看看jQuery源码我可以看到长号来自(新日期).getTime(),但这是我理解的极限而没有更多的研究.

我不知道这是否与我的渲染问题有关,但我以前从未注意到它,在IE8或任何其他浏览器中.有人能解释一下这些属性是什么吗?

html jquery internet-explorer-8

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

clr.AddReferenceToFile()在IronPython 2.7中失败

有人可以解释为什么这个代码:

import sys
sys.path.append("C:\\WINDOWS\\system32")

import clr
clr.AddReferenceToFile("wiimotelib.dll")
Run Code Online (Sandbox Code Playgroud)

适用于IronPython 2.6,但在带有IOException的IronPython 2.7 alpha 1中失败,并且消息:

Could not add reference to assembly wiimotelib.dll
Run Code Online (Sandbox Code Playgroud)

这是2.7中的新行为,还是alpha发布错误?

python ironpython

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