我有一个函数,它将另一个函数作为参数.如果函数是类的成员,我需要找到该类的名称.例如
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文件,名为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脚本而不是只读它?
qUnit的nUnits [SetUp]属性的等价物是什么?
在Web应用程序中,在代码中使用HTML(非脚本语言,Java,.NET)是否可以接受?
有两个主要的子问题:
我想移动默认的"My Documents\WindowsPowerShell"文件夹.但是,当我尝试这个时,PowerShell当然找不到$ profile.是否有可以编辑的文件或其他内容将PowerShell指向其他启动文件夹?
我想创建自己的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的构造函数?
我试图使用'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在哪里寻找库?
我有这段代码:
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) 我正在使用IE8和jQuery 1.4.2.我的网页不再正确呈现,并且在HTML的调试器中快速查看每个元素现在都有一个名为"jQuery1279875396122"的新属性,其值是一个小整数,显然对每个节点都是唯一的.
看看jQuery源码我可以看到长号来自(新日期).getTime(),但这是我理解的极限而没有更多的研究.
我不知道这是否与我的渲染问题有关,但我以前从未注意到它,在IE8或任何其他浏览器中.有人能解释一下这些属性是什么吗?
有人可以解释为什么这个代码:
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 ×5
javascript ×3
html ×2
jquery ×2
ajax ×1
exception ×1
inheritance ×1
ironpython ×1
lxml ×1
nunit ×1
powershell ×1
py2app ×1
qunit ×1
reflection ×1
regex ×1
tdd ×1