小编Ian*_*non的帖子

如何自定义PostgreSQL/psql提示符?

如何在PostgreSQL命令行工具psql中自定义提示(理想情况下在每用户启动脚本中)?

具体地讲,我想能够改变它,同时仍然包含表示该命令是否是多行的字符(例如=,-,'等等).

我正在运行Ubuntu 10.04(Lucid),PostgreSQL 8.4.4.

postgresql customization command-line

8
推荐指数
1
解决办法
4767
查看次数

如何确定模块名称以过滤特定的Python警告?

使用Python,可以使用以下命令行语法过滤特定警告:

-W action:message:category:module:line
Run Code Online (Sandbox Code Playgroud)

但是,如何确定module特定警告的正确值?

请考虑以下示例:

使用(pipenv --python 3.6.5 install lxml==4.2.4)

> python -W error -c "from lxml import etree"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "src/lxml/etree.pyx", line 75, in init lxml.etree
  File "src/lxml/_elementpath.py", line 56, in init lxml._elementpath
ImportWarning: can't resolve package from __spec__ or __package__, falling back on __name__ and __path__
Run Code Online (Sandbox Code Playgroud)

如果只想忽略该特定导入警告,如何找到要使用的模块名称?以下命令均未显示正确.他们都发出警告.

python -W error -W ignore::ImportWarning:lxml -c "from lxml import etree"
python -W error -W ignore::ImportWarning:lxml.etree …
Run Code Online (Sandbox Code Playgroud)

python command-line warnings

8
推荐指数
1
解决办法
221
查看次数

是否有一个更简洁的替代`except:pass`?

我有一个函数,按优先顺序返回几个组的随机成员.它是这样的:

def get_random_foo_or_bar():
    "I'd rather have a foo than a bar."

    if there_are_foos():
        return get_random_foo()

    if there_are_bars():
        return get_random_bar()

    raise IndexError, "No foos, no bars"
Run Code Online (Sandbox Code Playgroud)

然而,首先要做的get_random_foo是验证是否有foos并且IndexError如果没有则提高,所以there_are_foos是多余的.此外,涉及数据库并使用单独的函数会产生并发问题.因此,我重写了这样的事情:

def get_random_foo_or_bar():
    "Still prefer foos."

    try:
        return get_random_foo()
    except IndexError:
        pass

    try:
        return get_random_bar()
    except IndexError:
        pass

    raise IndexError, "No foos, no bars"
Run Code Online (Sandbox Code Playgroud)

但我发现这个可读性要低得多,而且在我pass觉得错误之前我没有理由使用它.

是否有更整洁有效的模式,还是我应该学会接受pass

注意:我想避免任何嵌套,因为以后可能会添加其他类型.


编辑

谢谢所有说这pass很好的人 - 这让人放心!

还要感谢那些建议用返回值替换异常的人None.我可以看到这是一个有用的模式,但我认为在这种情况下它在语义上是错误的:已经要求函数执行一个不可能完成的任务,因此它们应该引发异常.我更喜欢遵循random模块的行为(例如random.choice([])).

python coding-style exception-handling

7
推荐指数
2
解决办法
6442
查看次数

PostgreSQL:如何有效地改变psql中的多个列?

我有几个布尔列的PostgreSQL表,目前只包含true或null.我想对所有人做以下事情:

  1. 添加默认值false
  2. 将所有空值更改为false
  3. 添加not null约束

即:

-- for each column specified:
update my_table set my_column = 'f' where my_column is null;
alter table my_table alter column my_column set default 'f';
alter table my_table alter column my_column set not null; 
Run Code Online (Sandbox Code Playgroud)

是否有psql(或标准SQL)的功能将迭代指定的列列表并对每个列应用一系列操作?

sql postgresql

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

Zeitgeist命令行查询客户端

Zeitgeist for Linux是一个智能操作系统活动日志,它将各种信息存储在数据库中,如最新打开的文件,最新启动的程序等.

我很想知道是否存在用于查询数据库的命令行客户端?

linux zeitgeist

6
推荐指数
1
解决办法
482
查看次数

如何从回调中创建XMLHttpRequest会影响缓存?

在浏览器中检索以下HTML时,浏览器会为主范围内的XHTTP请求设置Cache-control标头,但不会针对超时回调发出的请求设置.这会导致始终从缓存加载第二个资源,除非缓存不存在.为什么将请求放在回调中会影响这样的缓存头?

<!DOCTYPE HTML>
<html>
  <body>
    <script type="text/javascript">

      var get = function (url) {
        var xhttp = new XMLHttpRequest();
        xhttp.open("GET", url, true);
        xhttp.send();
      }

      get("resource1.html");    // Cache-control set

      setTimeout(function () {
        get("resource2.html");  // Cache-control not set
      }, 10);

      get("resource3.html");    // Cache-control set

    </script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

(我已经在我手边的所有机器和浏览器上对此进行了测试,结果非常一致.一个例外是,如果超时设置为0,Firefox似乎确实为回调资源设置了一个Cache-control标头,其他浏览器仍然没有).

javascript caching http xmlhttprequest cache-control

6
推荐指数
1
解决办法
208
查看次数

web.py:如何使用404s有选择地隐藏任何HTTP方法的资源?

我想根据web.py中的某种形式的身份验证有选择地隐藏一些资源,但是它们的存在是由我对任何尚未实现的HTTP方法的405响应所揭示的.

这是一个例子:

import web

urls = (
    '/secret', 'secret',
    )

app = web.application(urls, globals())

class secret():
    def GET(self):
        if web.cookies().get('password') == 'secretpassword':
            return "Dastardly secret plans..."
        raise web.notfound()

if __name__ == "__main__":
    app.run()
Run Code Online (Sandbox Code Playgroud)

发出未定义的方法请求时,将显示资源:

$ curl -v -X DELETE http://localhost:8080/secret
...
> DELETE /secret HTTP/1.1
...
< HTTP/1.1 405 Method Not Allowed
< Content-Type: text/html
< Allow: GET
...
Run Code Online (Sandbox Code Playgroud)

我可以对HTTP规范中的其他常见方法执行相同的检查,但是创造性的不法分子可能会创建自己的:

$ curl -v -X SHENANIGANS http://localhost:8080/secret
...
> SHENANIGANS /secret HTTP/1.1
...
< HTTP/1.1 405 Method Not Allowed
< Content-Type: …
Run Code Online (Sandbox Code Playgroud)

python http web.py

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

Python 2.x:如何自动执行unicode而不是字符串?

如何自动执行测试以强制Python 2.x代码的主体不包含字符串实例(仅限unicode实例)?

例如.

我可以在代码中执行此操作吗?

是否有具有此功能的静态分析工具?

编辑:

我想在Python 2.5中使用这个应用程序,但事实证明这不可能,因为:

  1. 2.5不支持 unicode_literals
  2. kwargs字典键不能是unicode对象,只能是字符串

所以我接受了答案,说这是不可能的,即使它是由于不同的原因:)

python automated-tests static-analysis enforcement

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

每次运行Android项目时,AVD都会启动

每次我从Eclipse运行我的Android项目时,它都会启动一个新的Android虚拟设备来运行它.如何让它在现有的AVD中运行?

eclipse android

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

当列数据到达多种类型/误差范围时,如何设计SQL表?

我收到了一堆数据,其中某个特定值有时被收集作为日期(YYYY-MM-DD),有时仅收集一年.

根据您的观察方式,这可能是类型差异或误差范围.

这是次级抵押贷款的情况,但我无力追回或丢弃任何数据.

什么是最佳(例如,最差:) :) SQL表设计,它将接受任何一种形式,同时避免怪异的查询,并允许最大限度地使用数据库功能,如约束和键*?

*即实体 - 属性 - 值已经出局.

sql database-design

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

SQLite:如何从整数年和月组件创建日期?

我有一个包含整数yearmonth列的 SQLite 表。我希望能够将它们“转换”为某些查询的日期类型,但我发现的最简单的方法很长且不直观:

...
date(
    cast(year as text) || "-" ||
    substr('0' || cast(month as text), -2, 2) ||
    "-01" -- day of the month is irrelevant
    )
...
Run Code Online (Sandbox Code Playgroud)

有没有更清晰、更简洁、可重用的方法来做到这一点?

sqlite casting date

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

我对理解一些Java代码有疑问

代码:

package com.keyoti.rapidSpell;

import java.util.Comparator;

// Referenced classes of package com.keyoti.rapidSpell:
//            RapidSpellChecker

class RapidSpellChecker$CompareL
    implements Comparator
{

    public int compare(Object a, Object b)
    {
        return (int)(100D * (suggestionScore2b(topWord, (String)b) - suggestionScore2b(topWord, (String)a)));
    }

    public void with(String w)
    {
        topWord = w;
    }

    private String topWord;

    RapidSpellChecker$CompareL()
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

这是应用程序中的许多类.

什么是$符号class RapidSpellChecker$CompareL implements Comparator意味着什么?难道仅仅是在类名或具有一定的指导意义?

java

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

处理在python,tornado和redis上运行的网站中的外来字符

我已经阅读了很多相关问题,对于如何处理这种情况我有点不确定.

基本问题:在网站上处理"外国"(希伯来语,希腊语,阿拉姆语等)字符的最佳方法是什么?

我知道我需要使用UTF-8编码,但它背后的机制在我身上丢失了.

我使用龙卷风作为我的框架,并将数据存储在redis中.

我目前的实现是简单地将英文键盘等效存储在数据存储中,然后使用适当的希伯来语/希腊字体(例如Bwhebb.ttf)在页面上呈现.在大多数情况下,这已经起作用了,但是我遇到了一些CGI编码的字符,这反过来会导致字体方法中断.

python tornado hebrew redis

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