小编mat*_*bet的帖子

在 webpack 中使用来自 es6 的 svg-pan-zoom

如何将svg-pan-zoomes6 与 webpack 一起使用?我试过这样的事情:

import {svgPanZoom} from '../node_modules/svg-pan-zoom/src/svg-pan-zoom.js;
Run Code Online (Sandbox Code Playgroud)

但是svgPanZoomundefined。我也简单地尝试过:

import * as svg_pan_zoom from 'svg-pan-zoom';
Run Code Online (Sandbox Code Playgroud)

但随后svg-pan-zoom被设置为{};

svg ecmascript-6 webpack

5
推荐指数
1
解决办法
842
查看次数

python-asyncio:沿着协程链向上走

我想检查await正在运行的协程中的调用链。我的目标是向我的用户展示一个图表,其中哪些协程在我支持的应用程序中相互调用。但是,一个简单的堆栈是行不通的,因为协程可能会并发运行。

这是我cr_wait用来遍历堆栈的快速测试。我在这里看到了这种方法,但它没有产生我预期的结果。

from asyncio import get_event_loop
from asyncio import Task


def main():
    loop = get_event_loop()
    loop.run_until_complete(run())


async def run():
    await foo()


async def foo():
    await bar()


async def bar():
    print_coro_stack(Task.current_task()._coro)


def print_coro_stack(coro):
    if coro is None:
        return
    print(coro.__name__)
    if coro.cr_await:
        print_coro_stack(coro.cr_await)


if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

执行时,此代码仅打印“运行”。我曾(也许是天真地)期望看到:

bar
foo
run
Run Code Online (Sandbox Code Playgroud)

我查看了Task.get_stack,但文档指出此方法将为所有挂起的协程返回单个框架,这似乎没有那么有用。

有没有办法获得完整的协程堆栈?

python coroutine python-asyncio

5
推荐指数
1
解决办法
323
查看次数

flake8不报告混合大小写的函数名称

我创建了一个test_pep8.py包含以下内容的简短脚本:

def myFunc():
    return None
Run Code Online (Sandbox Code Playgroud)

我希望flake8能够产生关于混合大小写函数名称的警告.但是,flake8报告没有警告:

> flake8 --verbose test_pep8.py
checking test_pep8.py
Run Code Online (Sandbox Code Playgroud)

然后我直接在文件上运行pep8并得到相同的结果:

import pep8
checker = pep8.Checker('test_pep8.py')
checker.check_all()
> 0
Run Code Online (Sandbox Code Playgroud)

检查出pep8库,我注意到这组默认忽略:

DEFAULT_IGNORE = 'E121,E123,E126,E226,E24,E704'
Run Code Online (Sandbox Code Playgroud)

但是,似乎没有列出错误的功能命名.

这是我的flake8版本信息:

> flake8 --version
2.3.0 (pep8: 1.6.2, pyflakes: 0.8.1, mccabe: 0.3) CPython 2.6.6 on Linux
Run Code Online (Sandbox Code Playgroud)

任何人都知道为什么flake8没有报告这个pep8违规行为?谢谢!

编辑:刚刚发现这个模块:https ://pypi.python.org/pypi/pep8-naming pep8命名现在由不同的库强制执行吗?我似乎记得以前pep8覆盖过,但我可能会弄错.

pep8命名似乎确实是解决方案:

> flake8 --verbose test_pep8.py
checking test_pep8.py
test_pep8.py:5:5: N802 function name should be lowercase
Run Code Online (Sandbox Code Playgroud)

python pep8

4
推荐指数
1
解决办法
1708
查看次数

标签 统计

python ×2

coroutine ×1

ecmascript-6 ×1

pep8 ×1

python-asyncio ×1

svg ×1

webpack ×1