我的项目文件夹(是的 - 我知道这是最好的做法)是这样的:
.
??? app.py
??? otherscript.py
??? tests/
??? tools/
??? __init__.py
??? toolfile.py
Run Code Online (Sandbox Code Playgroud)
我需要nose --with-coverage测试.py主文件夹,tools文件夹中的脚本并排除tests文件夹(虽然我真的不在乎排除它)
当我运行基本
nose --with-coverage
Run Code Online (Sandbox Code Playgroud)
我得到了所有安装的依赖项和库(烧瓶,请求等)的报道
我跑的时候
nose --with-coverage --cover-package=folder name (or . or ./)
Run Code Online (Sandbox Code Playgroud)
我得到了测试文件夹的覆盖范围.该tools/__init__.py文件,app.py但不包括其余脚本:
> (opentaba-server) D:\username\pathto\opentaba-server>nosetests --with-coverage -- cover-package=./ ... Name
> Stmts Miss Cover Missing
> ----------------------------------------------------------------------- Tests\functional_tests\test_return_json 26 0 100%
> Tests\unit_test\test_createdb 0 0 100%
> Tests\unit_test\test_scrape 0 0 100% app
> 63 15 76% 22, 24, …Run Code Online (Sandbox Code Playgroud) 当我尝试安装时requirejs-text,我收到一个我不明白的错误.
$ bower install requirejs-text
bower EMALFORMED Failed to read /Users/bgolder/projects/explorer/front/bower.json
Additional error details:
Unexpected string
Run Code Online (Sandbox Code Playgroud)
在bower.json中,我看不出有什么不对.
{
"name": "front",
"version": "0.0.0",
"dependencies": {
"bootstrap": "~3.1.1"
"jquery": "~1.10.2",
"requirejs": "~2.1.9",
"requirejs-text": "~2.0.10",
"underscore": "~1.5.2",
"backbone": "~1.1.0",
"modernizr": "~2.6.2"
},
"devDependencies": {},
}
Run Code Online (Sandbox Code Playgroud)
如果我在bower上使用verbose选项,我会得到这个跟踪.
bower EMALFORMED Failed to read /Users/bgolder/projects/explorer/front/bower.json
Additional error details:
Unexpected string
Stack trace:
SyntaxError: Unexpected string
at Object.parse (native)
at /usr/local/lib/node_modules/bower/node_modules/bower-json/lib/json.js:41:29
at fs.js:266:14
at /usr/local/lib/node_modules/bower/node_modules/graceful-fs/graceful-fs.js:104:5
at Object.oncomplete (fs.js:107:15)
From previous event:
at readJson (/usr/local/lib/node_modules/bower/lib/util/readJson.js:17:6)
at …Run Code Online (Sandbox Code Playgroud) 我想将IronPython 2.6 for .NET 2.0中的字符串列表传递给C#程序(我使用的是.NET 2.0,因为我正在使用基于2.0构建的DLL运行的api).但是我不确定如何从ScriptEngine返回时抛出它.
namespace test1
{
class Program
{
static void Main(string[] args)
{
ScriptEngine engine = Python.CreateEngine();
ScriptSource source = engine.CreateScriptSourceFromFile("C:\\File\\Path\\To\\my\\script.py");
ScriptScope scope = engine.CreateScope();
ObjectOperations op = engine.Operations;
source.Execute(scope); // class object created
object classObject = scope.GetVariable("MyClass"); // get the class object
object instance = op.Invoke(classObject); // create the instance
object method = op.GetMember(instance, "myMethod"); // get a method
List<string> result = (List<string>)op.Invoke(method); // call the method and get result
Console.WriteLine(result.ToString());
Console.Read();
}
}
} …Run Code Online (Sandbox Code Playgroud) 这是我的python代码的一部分:
@app.route("/<int:param>/")
def go_to(param):
return param
Run Code Online (Sandbox Code Playgroud)
上面的函数路由一个url,例如www.example.com/12这个函数.
如何声明参数规则以将以整数结尾的URL重定向www.example.com/and/boy/12到此函数?
我正在使用Flask框架.
注意:解决了.事实证明我正在导入同一模块的先前版本.
在StackOverflow上很容易找到类似的主题,其中有人遇到了NameError.但大多数问题涉及特定模块,解决方案通常是更新模块.
在我的情况下,我试图从我自己编写的模块中导入一个函数.该模块名为InfraPy,它肯定在sys.path上.InfraPy中的一个特定函数(称为listToText)返回一个NameError,但仅当我尝试将其导入另一个脚本时.在InfraPy中,if __name__=='__main__':listToText函数工作得很好.从InfraPy我可以毫无问题地导入其他功能.from InfraPy import *在我尝试使用listToText函数之前,包括在我的脚本中不会返回任何错误.
怎么会发生这种情况?
如何导入一个特定函数返回一个NameError,而导入同一个模块中的所有其他函数工作正常?
在MacOSX 10.6上使用python 2.6,在Windows 7上运行脚本也遇到了同样的错误,使用IronPython 2.6 for .NET 4.0
谢谢.
如果您认为有其他细节可以帮助解决这个问题,我很乐意提供它们.
根据要求,这里是InfraPy内部的功能定义:
def listToText(inputList, folder=None, outputName='list.txt'):
'''
Creates a text file from a list (with each list item on a separate line). May be placed in any given folder, but will otherwise be created in the working directory of the python interpreter.
'''
fname = outputName
if folder != None:
fname = folder+'/'+fname
f = open(fname, 'w')
for …Run Code Online (Sandbox Code Playgroud) 一些背景:
我已经制作了一个力布局,并且我已将div添加到我的svg g节点,这样我就可以显示很好的文本段落.我正在尝试创建淡出插入的div的转换.
问题:
每当我在div的不透明度样式属性上启动转换时,它就会弹出定位流程.我已经在链接小提琴中孤立了这个问题.它与力布局无关,但我使用外来元素,以便我可以将html放在基于svg的力布局中.
这是一个例子,小提琴:
var foreign = d3.select("body")
.append("svg")
.attr("height", 200)
.attr("width", 300)
.append("svg:g")
.attr("transform",
"translate(40, 20)")
.append("svg:foreignObject")
.attr("width", "100px")
.attr("height", "50px");
var outer = foreign.append("xhtml:div")
.attr("class", "outer");
var inner = outer.append("xhtml:div")
.attr("class", "inner")
.text("inner div");
outer.transition()
.duration(3000)
.style("opacity", 0.0);
Run Code Online (Sandbox Code Playgroud)
还有一个视觉截图,来自小提琴(请注意它是如何复制div的)
转型前的州:

转型期间的状态:

我在OS X 10.6.8上使用Chrome 28来查看它.它在Safari上变得更加有趣,元素闪烁进出可见性.
我有两个大的多边形列表.
使用Python,我想在列表1每个多边形,并发现其与清单2中的多边形几何交集的结果(我用匀称做到这一点).
因此,对于列表1中的多边形i,列表2中可能有多个与其相交的多边形.
问题是两个列表都很大,如果我只是嵌套两个循环并为每个可能的多边形对运行交叉命令,那么它需要很长时间.我不确定在布尔测试的交点之前是否会显着加快这一点(例如,如果相交:返回交叉点).
对于我来说,排序或组织这两个多边形列表以便使交叉点更有效的方法是什么?是否有适合这种情况的排序算法,我可以使用python进行排序?
我对编程比较陌生,没有离散数学的背景,所以如果你知道我应该使用的现有算法(我假设存在这种情况),请链接或给出一些可以帮助我的解释实际上在python中实现它.
此外,如果有一个更好的StackExchange网站来解决这个问题,请告诉我.我觉得它有点桥接一般的python编程,gis和几何,所以我不太确定.
如果我在OSX(Snow Leopard)上学习python开发,我应该如何最好地管理我的python包?
我对那里有大量优秀的python包感到非常兴奋.我很想开始学习它们,但包管理让我完全糊涂了.显然我不知道我在做什么.我在Stack Overflow上看到很多关于包管理的问题,人们经常通过说"为什么不用x?看看我从shell中复制的这一行有多容易"来回答它们.
$ x install something
Run Code Online (Sandbox Code Playgroud)
在x无法处理某些特定依赖项或无法处理包y之前,这是一个很好的答案.这是我已经尝试过的:
PATH,PYTHONPATH以及sys.path把事情的工作(并让我的终端窗口看起来甜).MacPorts似乎很有用.我知道正确的答案可能取决于我正在尝试安装的内容.我正在尝试安装让我这样的软件包:
我完全愿意擦掉我的机器上的所有东西,现在它必须有点杂乱的包裹.如果我应该学习virtualenv,或者只是学习更多关于检查依赖关系和自己安装它们的基本过程,我很乐意这样做.如果我应该深入了解Homebrew,我也很乐意这样做.我应该如何处理这些问题,这些问题常常使我无法做我真正想做的事情(使用python制作简洁的东西)?