小编e-s*_*tis的帖子

如何在Google Earth中显示移动的船?

我是KML格式的新手,并试图弄清楚如何显示一条船(一个png),沿着一条路径从一个地方移动到另一个地方(一条由几条线组成的简单线条).

我可以看到如何分别显示地标,即使是图标和路径.

点击KML文件时我想看到的是:

  • 船出现在出发点;
  • 直到抵达之前的路径;
  • 小船图标以舒适的速度移动(奖励点我可以设置定量时间/进度,如果我可以点击开始,暂停或倒带的额外奖励)从出发到沿着路径到达.

这甚至可能吗?我知道这是谷歌地图,但你可以使用Javascript编程,这可以减轻很多事情.

kml google-earth

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

为什么我不能继承Python中的dict和Exception?

我得到了以下课程:

class ConstraintFailureSet(dict, Exception) :
    """
        Container for constraint failures. It act as a constraint failure itself
        but can contain other constraint failures that can be accessed with a dict syntax.
    """

    def __init__(self, **failures) :
        dict.__init__(self, failures)
        Exception.__init__(self)

print isinstance(ConstraintFailureSet(), Exception)
True
raise ConstraintFailureSet()
TypeError: exceptions must be classes, instances, or strings (deprecated), not ConstraintFailureSet
Run Code Online (Sandbox Code Playgroud)

有没有搞错 ?

最糟糕的是我不能尝试super(),因为Exception是基于旧的类......

编辑:是的,我试图切换继承/ init的顺序.

编辑2:我在Ubuntu8.10上使用CPython 2.4.你刚才知道这种信息是有用的;-).无论如何,这个小谜语已经关闭了我同事的三个口.你将成为我当天最好的朋友......

python multiple-inheritance

18
推荐指数
1
解决办法
4171
查看次数

Symfony中重定向和转发有什么区别?

我想知道之间的区别:

$this->forward("module", "action");
Run Code Online (Sandbox Code Playgroud)

$this->redirect("module/action");
Run Code Online (Sandbox Code Playgroud)

我的第一个猜测是,一个意味着一个新的请求,而另一个不是,但我不确定.

redirect symfony1

18
推荐指数
1
解决办法
1万
查看次数

我为什么要使用WSGI?

一直在使用mod_python,我读了越来越多关于WSGI有多好的文章,没有真正理解为什么.

那我为什么要切换到呢?有什么好处?这很难,学习曲线值得吗?

python wsgi

17
推荐指数
3
解决办法
6571
查看次数

如果在Python中没有数据传输,如何从stdin或文件中读取?

我有一个CLI脚本,希望它从文件中读取数据.它应该能够以两种方式阅读:

  • cat data.txt | ./my_script.py
  • ./my_script.py data.txt

- 有点像grep,例如.

我知道的:

  • sys.argvoptparse让我轻松地阅读任何指定参数和选项.
  • sys.stdin 让我读一下管道传输的数据
  • fileinput 使整个过程自动化

不幸:

  • 使用fileinputstdin和任何args作为输入.所以我不能使用非文件名的选项,因为它试图打开它们.
  • sys.stdin.readlines() 工作正常,但如果我不管道任何数据,它会挂起,直到我进入 Ctrl + D
  • 我不知道如何实现"如果没有在stdin中,从args中的文件读取"因为stdin总是True在布尔上下文中.

如果可能的话,我想以便携的方式做到这一点.

python stdin pipe command-line-interface

17
推荐指数
3
解决办法
8990
查看次数

在使用git reset转到较旧的变更集之后,如何回到历史记录中的最后一次提交?

假设我的历史就是这样:

A - B - C - D(主)

如果我这样做git reset B,我会得到:

A - B(主人)

麻烦的是,git log现在只向我展示从A到B的历史,我再也看不到C和D.

我怎么能回到D?

git git-reset

15
推荐指数
1
解决办法
8277
查看次数

如何在git中共享配置文件?

我有编辑器设置,我想在所有存储库中传播.如果用户定义了自己的设置,那么它当然应该删除存储库选择.

我想这样做,因为我有一个班级,每个学生都克隆了回购.通常他们忘记设置core.editor设置并最终搞乱vi,通常会崩溃回购就像他们已经诅咒魔法力量一样.

因为它适用于我的HOME目录,我尝试在我的repo目录中使用.gitconfig,就像我设置.gitignore一样,但它似乎不起作用.

编辑:

  • --global 让用户设置其首选项来覆盖repo,但是它不允许他在克隆时获取repos配置.
  • .git/config不在克隆的repo中共享

git git-config

14
推荐指数
1
解决办法
2716
查看次数

如何在asyncio循环中等待?

这是一个玩具示例,使用asyncio和aiohttp从多个网站下载主页:

import asyncio
import aiohttp

sites = [
    "http://google.com",
    "http://reddit.com",
    "http://wikipedia.com",
    "http://afpy.org",
    "http://httpbin.org",
    "http://stackoverflow.com",
    "http://reddit.com"
]


async def main(sites):
    for site in sites:
        download(site)


async def download(site):
    response = await client.get(site)
    content = await response.read()
    print(site, len(content))


loop = asyncio.get_event_loop()
client = aiohttp.ClientSession(loop=loop)
content = loop.run_until_complete(main(sites))
client.close()
Run Code Online (Sandbox Code Playgroud)

如果我运行它,我得到:

RuntimeWarning: coroutine 'download' was never awaited
Run Code Online (Sandbox Code Playgroud)

但我不想等待它.

在扭曲我可以做:

for site in sites:
    download(site)
Run Code Online (Sandbox Code Playgroud)

如果我没有明确地"收益"或向返回的Deferred添加回调,它只会在没有阻塞或抱怨的情况下运行.我无法访问结果,但在这种情况下我不需要它.

在JS我可以这样做:

site.forEarch(site){
    donwload(site)
}
Run Code Online (Sandbox Code Playgroud)

而且,它不会阻止,也不需要我的任何部分.

我找到了办法:

async def main(sites):
    await asyncio.wait([download(site) for site in sites])
Run Code Online (Sandbox Code Playgroud)

但:

  • 找到它真的不明显.我很难记住.
  • 很难理解它的作用."等待"似乎说"我阻止",但没有清楚地传达它阻止整个协程列表完成. …

python python-3.x async-await python-asyncio

14
推荐指数
2
解决办法
1万
查看次数

一个大的MySQL数据库还是一千个小的SQLite数据库?

我正在研究基于Web的组织工具.我并不瞄准与美妙的Basecamp相同的市场,但让我们说用户和数据交互的方式看起来一样.

我将不得不处理用户自定义,文件上传和图形调整.每个帐户都有一个论坛.我想提供一种轻松备份每个帐户的方法.

我一直在考虑如何创建一个合理的体系结构,并且已经过训练,可以在一个(如果需要的话,还需要分发)MySQL数据库中使用精美的规范化数据.最近我一直想知道:是否可以考虑使用一个SQLITE DB存储每个帐户的数据,并仅使用MYSQL进行常规网站管理?

亲:

  • 备份很简单:设置版本,zip,上传.
  • 如果每个帐户都使用大量论坛,请不要理会:每个帐户都有一个文件.
  • SQLITE快速闪电,没有昂贵的连接时间......
  • 表格方案简单得多:每次都不需要对帐户进行任何区分

缺点:

  • 不知道它是否可扩展
  • 不知道硬盘是否会跟上
  • 不知道是否有办法让SQLITE不存储在RAM中,因为它很快就会成为灾难
  • 很多目录和子目录:这样可以吗?
  • 维护问题:升级实时站点意味着逐个升级所有数据库
  • 开发问题:设置dev/pre prod/prod env会很困难
  • commom数据仍然需要使用mysql,所以我们最终会为每个页面结束2个DB连接,arg

更有利于专业人士,它仍然让我怀疑(zepplin风格).

你说什么 ?

mysql architecture sqlite

13
推荐指数
2
解决办法
2173
查看次数

你可以从GridFS(MongoDB文件系统)流式传输视频吗?

你能告诉像Ngix这样的流媒体服务器来流式传输存储在GridFS中的视频吗?如果是,它会影响性能吗?

streaming mongodb gridfs

13
推荐指数
1
解决办法
5102
查看次数