Eclipse(带有PyDev的3.4.2)处理不同步的资源(已经在IDE之外编辑的文件)与我使用的其他IDE不同,其中只有打开编辑器的资源被认为是不同步的.在Eclipse中,任何资源都可能不同步.
这意味着当我在Eclipse之外的任何文件更改后执行搜索时,我会收到一个错误对话框,告诉我文件不同步,即使它们没有打开的编辑器.据我所知,没有全局刷新命令,因此我不得不在错误对话框中读取项目名称(我有几个项目),并为每个项目执行右键单击+刷新.
我已经检查了Refresh Automatically
设置Settings > General > Workspace
,但这没有效果.有没有办法让Eclipse始终只从磁盘加载非活动资源?
是否有直接的方法列出包中所有模块的名称,而不使用__all__
?
例如,给定此包:
/testpkg
/testpkg/__init__.py
/testpkg/modulea.py
/testpkg/moduleb.py
Run Code Online (Sandbox Code Playgroud)
我想知道是否有标准或内置方式来做这样的事情:
>>> package_contents("testpkg")
['modulea', 'moduleb']
Run Code Online (Sandbox Code Playgroud)
手动方法是遍历模块搜索路径以查找包的目录.然后可以列出该目录中的所有文件,过滤掉唯一命名的py/pyc/pyo文件,剥离扩展名,然后返回该列表.但对于模块导入机制已在内部进行的操作,这似乎是相当多的工作.该功能是否暴露在任何地方
我正在尝试以区域设置感知的方式对字符串列表进行排序.我已经将Babel库用于其他与i18n相关的任务,但它不支持排序.Python的locale
模块提供了一个strcoll
函数,但需要将进程的语言环境设置为我想要使用的语言环境.有点痛,但我可以忍受它.
问题是我似乎无法实际设置区域设置.该文件的locale
模块给出了这样的例子:
import locale
locale.setlocale(locale.LC_ALL, 'de_DE')
Run Code Online (Sandbox Code Playgroud)
当我运行时,我得到了这个:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python26\Lib\locale.py", line 494, in setlocale
locale.Error: unsupported locale setting
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我正在优化一些主要瓶颈正在运行的代码并访问一个非常大的类似结构的对象列表.目前我正在使用namedtuples,以提高可读性.但是使用'timeit'的一些快速基准测试表明,在性能是一个因素的情况下,这确实是错误的方法:
用a,b,c命名的元组:
>>> timeit("z = a.c", "from __main__ import a")
0.38655471766332994
Run Code Online (Sandbox Code Playgroud)
使用__slots__
a,b,c的类:
>>> timeit("z = b.c", "from __main__ import b")
0.14527461047146062
Run Code Online (Sandbox Code Playgroud)
带键a,b,c的字典:
>>> timeit("z = c['c']", "from __main__ import c")
0.11588272541098377
Run Code Online (Sandbox Code Playgroud)
具有三个值的元组,使用常量键:
>>> timeit("z = d[2]", "from __main__ import d")
0.11106188992948773
Run Code Online (Sandbox Code Playgroud)
使用常量键列出三个值:
>>> timeit("z = e[2]", "from __main__ import e")
0.086038238242508669
Run Code Online (Sandbox Code Playgroud)
具有三个值的元组,使用本地密钥:
>>> timeit("z = d[key]", "from __main__ import d, key")
0.11187358437882722
Run Code Online (Sandbox Code Playgroud)
使用本地密钥列出三个值:
>>> timeit("z = e[key]", "from __main__ import e, key")
0.088604143037173344
Run Code Online (Sandbox Code Playgroud)
首先,这些小timeit
测试是否会使它们无效?我跑了几次,以确保没有任何随机系统事件抛出它们,结果几乎相同.
看起来字典在性能和可读性之间提供了最佳平衡,而类别排在第二位.这是不幸的,因为为了我的目的,我还需要对象是序列式的; 因此我选择了namedtuple. …
Postgres可以使用date_trunc函数对时间戳进行舍入(截断),如下所示:
date_trunc('hour', val)
date_trunc('minute', val)
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法将时间戳截断到最近的5分钟边界,例如,14:26:57变为14:25:00.直截了当的方式是这样的:
date_trunc('hour', val) + date_part('minute', val)::int / 5 * interval '5 min'
Run Code Online (Sandbox Code Playgroud)
由于这是查询的性能关键部分,我想知道这是否是最快的解决方案,或者是否有一些我忽略的快捷方式(与Postgres 8.1+兼容).
我正在对包含时态数据的非常大的表进行分区,并考虑我应该创建分区的粒度.Postgres 分区文档声称"大量分区可能会大大增加查询计划时间",并建议将分区与"最多可能有一百个"分区一起使用.
假设我的表持有十年的数据,如果我按周分区,我最终会有超过500个分区.在我对此进行排除之前,我想更好地了解分区数量对查询计划时间的影响.有没有人对此进行过基准测试,或者是否有人对内部的工作方式有所了解?
我已经阅读了其他几个关于克隆问题的'git hangs',但没有一个与我的环境和细节相符.我正在使用在cygwin下构建的git(msys git不是一个选项)来通过SSH克隆来自Linux主机的repo.
git clone user@host:repo
Run Code Online (Sandbox Code Playgroud)
我已经在其他平台上针对同一主机进行了测试,并且工作正常,但在这台Windows机器上,克隆无限期地挂起.我设置GIT_TRACE=1
,看起来问题是这个命令:
'ssh' 'user@host' 'git-upload-pack '\''repo'\'''
Run Code Online (Sandbox Code Playgroud)
我的SSH密钥设置正确:ssh user@host
工作正常.当我运行命令时,我得到一堆输出,如下所示:
...
003dbbd3db63763922ad75bbeefa3811dce001576851 refs/tags/start
0000
Run Code Online (Sandbox Code Playgroud)
然后它会挂起20多分钟,这是我在杀死它之前等待的最长时间.
服务器有Git 1.7.11.7和OpenSSH 5.9p1,而客户端有Git 1.7.9和OpenSSH 6.1p1.
这应该是git-upload-pack输出的结束吗?这是Git或我的配置中的错误吗?
我在Windows上使用Eclipse,使用PyDev插件进行Python开发.当我使用'Run'启动我的应用程序时,它会产生一个新的Python(CPython)实例.当我使用'终止'按钮(红色方块)时,它会终止进程.但是,它似乎执行SIGKILL,因此我的关闭处理程序无法清理.
有没有办法让Eclipse发送SIGTERM,或者从Eclipse控制台模拟键盘中断(ctrl-c)?
注意:我知道还有其他Python IDE,比如Komodo或Wing可以解决这个问题,但我不打算转换它.
以下CSS会影响默认情况下页面是以纵向还是横向打印.
@page {
size: landscape;
}
Run Code Online (Sandbox Code Playgroud)
我意识到这只适用于非常有限的一组浏览器,并且用户可以覆盖它.没关系; 我只是想提供一个很好的默认值.
这在CSS中作为静态值很好用,但我想根据用户选择在纵向和横向之间动态切换.是否可以使用JavaScript来更改此值?
我正在尝试使用-Wa构建OpenSSL, - noexecstack,但在其config命令行中找不到任何地方来提供此标志.我试图设置CFLAGS,但似乎忽略了它,只是使用它自己的.
这是一个自动构建工作,干掉OpenSSL源的干净副本,因此配置脚本的一次性破解实际上不是一个选项.
有没有办法将自定义标志传递给OpenSSL的构建过程?
performance ×3
python ×3
eclipse ×2
postgresql ×2
pydev ×2
windows ×2
build ×1
css ×1
datetime ×1
dom ×1
gcc ×1
git ×1
ide ×1
javascript ×1
linux ×1
localization ×1
module ×1
openssl ×1
package ×1
partitioning ×1
process ×1
sql ×1
ssh ×1