小编Phi*_*ham的帖子

使用lat/lon + km距离的简单计算?

我可以做一个简单的计算,它会将km转换为一个值,我可以将其添加到lat或lon浮点数来计算搜索的边界框吗?它不需要完全准确.

例如:如果给我伦敦,英格兰的纬度/经度(51.5001524,-0.1262362),我想计算那个纬度从那个点开始向西/向西25公里的东西,以及从那个南北25公里的lon点,我需要做什么才能将25km转换成小数加上上面的值?

我正在寻找一般的经验法则,即:1km == +/- 0.XXX

编辑:

我对"lat lon"的原始搜索未返回此结果:

如何计算给定lat/lng位置的边界框?

接受的答案似乎足以满足我的要求.

algorithm geometry geolocation

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

自定义代码在virtualenv中的位置如何?

使用时应该遵循什么样的目录结构virtualenv?例如,如果我正在构建一个WSGI应用程序并创建一个名为的virtualenv,foobar我将从一个目录结构开始,如:

/foobar
  /bin
    {activate, activate.py, easy_install, python}
  /include
    {python2.6/...}
  /lib
    {python2.6/...}
Run Code Online (Sandbox Code Playgroud)

创建此环境后,将自己放置在何处:

  • python文件?
  • 静态文件(图像/等)?
  • "定制"套餐,例如在网上提供但在奶酪店中找不到的套餐?

virtualenv目录有关?

(假设我已经知道virtualenv目录应该去哪里了.)

python project virtualenv

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

将dict的键和值从`unicode`转换为`str`的​​最快方法?

我从一个代码"层"接收一个字典,在将代码传递到另一个"层"之前执行一些计算/修改.原始字典的键和"字符串"值是unicode,但它们传递的层只接受str.

这将经常被调用,所以我想知道什么是最快的方式来转换像:

{ u'spam': u'eggs', u'foo': True, u'bar': { u'baz': 97 } }
Run Code Online (Sandbox Code Playgroud)

...至:

{ 'spam': 'eggs', 'foo': True, 'bar': { 'baz': 97 } }
Run Code Online (Sandbox Code Playgroud)

...请记住,非"字符串"值需要保留为原始类型.

有什么想法吗?

python types casting

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

什么是Python egg缓存(PYTHON_EGG_CACHE)?

我刚刚在我的开发机器上从Python 2.6.1升级到2.6.4,并在启动python脚本时显示以下消息:

无法将文件提取到egg缓存中

尝试将文件提取到Python egg缓存时发生以下错误:

[Errno 13]权限被拒绝:'/ var/www/.python-eggs'

Python egg缓存目录当前设置为:

/var/www/.python-eggs

也许您的帐户没有对此目录的写入权限?您可以通过将PYTHON_EGG_CACHE环境变量设置为指向可访问的目录来更改缓存目录.

python文档中没有任何内容,所以我对于放置此目录及其用途的最佳实践有点不知所措.

有人可以解释一下Python egg缓存是什么吗?

另外,你能解释为什么/如何与site-packagesPython用来存储鸡蛋的目录不同(据我所知)?

python python-egg-cache

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

获取传递给函数的参数的列表/元组/字典?

鉴于以下功能:

def foo(a, b, c):
    pass
Run Code Online (Sandbox Code Playgroud)

如何获得传入的参数的list/tuple/dict/etc,而不必自己构建结构

具体来说,我正在寻找Python的JavaScript arguments关键字版本或PHP的func_get_args()方法.

想要的是使用*args或的解决方案**kwargs; 我需要在函数定义中指定参数名称(以确保它们被传入),但在函数中我希望在list-或dict-style结构中使用它们.

python arguments function

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

Git-svn:创建并推送一个新的分支/标签?

在使用带有-s选项(git svn clone http://server/repo -s)的git-svn克隆SVN存储库之后,如何创建分支或标记并在进入时已推送到存储库中的相关分支/标记目录dcommit

例如; 如果我要使用git在foobar本地创建一个分支(git checkout -b foobar)我怎么能让git-svn 在服务器上创建分支(http://server/repo/branches/foobar)?

我正在使用Git 1.5.5.6.


请注意:

该方法接受以下不使用Git 1.5.5.6工作,因为没有git svn branch方法.我仍在寻找解决方案,不涉及直接使用svn.

git git-svn

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

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

单元测试/ TDD的有用设计模式?

阅读这个问题有助于我巩固我在单元测试,TDD等方面遇到的一些问题.

由于遇到了TDD开发方法,我知道这是正确的发展方向.阅读各种教程帮助我了解如何开始,但它们一直非常简单 - 不是真正可以应用于活动项目的东西.我所管理的最好的是围绕我的代码的一小部分编写测试 - 像库这样的东西,主应用程序使用但没有以任何方式集成.虽然这很有用,但相当于约5%的代码库.关于如何进入下一步,帮助我对主应用程序进行一些测试的问题很少.

诸如" 大多数没有单元测试的代码都是用硬依赖(即全新的)或静态方法构建的. "和" ......在类之间具有高级别的耦合,难以配置的情况并不罕见你班级内的对象等等. "让我意识到下一步是理解如何解码代码以使其可测试.

我该怎么做才能帮助我做到这一点?是否有一组特定的设计模式需要我们理解并开始实施,这样可以更轻松地进行测试?

testing tdd unit-testing design-patterns

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

作为脚本执行已安装的Python包?

有没有办法让包作为脚本执行?例如:

[~]# easy_install /path/to/foo.egg
...
[~]# python -m foo --name World
Hello World
Run Code Online (Sandbox Code Playgroud)

我已经尝试__main__.py在我的包中创建一个文件,但它没有被执行(我使用的是Python 2.6).引发以下错误:

foo is a package and cannot be directly executed
Run Code Online (Sandbox Code Playgroud)

我的包的结构如下:

foo/
  setup.py
  foo/
    __init__.py
    __main__.py
Run Code Online (Sandbox Code Playgroud)

运行python -m foo.__main__ --name World按预期工作,但我更喜欢以前的执行方式.这可能吗?

python

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

是否有可能将列表类型转换为生成器而不进行迭代?

我知道可以将生成器转换为"低级别"(例如list(i for i in xrange(10)))的列表,但是可以在不先遍历列表的情况下进行反向(例如.(i for i in range(10)))吗?

编辑:删除这个词是cast为了清楚我正在努力实现的目标.

编辑2:实际上,我认为我可能在基础层面误解了发电机.这将教会我在早晨喝咖啡之前不要发布SO问题!

python list generator

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