小编Jia*_*ian的帖子

什么命令打开Ruby的REPL?

什么命令打开Ruby的REPL?

在Python中,您只需打开python而不需要任何参数.

ruby read-eval-print-loop

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

在Django shell会话期间获取SQL查询计数

有没有办法在Django shell会话期间打印Django ORM执行的原始SQL查询的数量?

这种信息已经由Django调试工具栏提供(例如,5 QUERIES in 5.83MS但是如何从shell获取它并不明显.

python sql django shell

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

如何关闭冻结的SSH会话?

有时,由于互联网连接不良,与远程服务器的SSH会话将无限期冻结.是否可以在不关闭终端的情况下关闭会话?

ssh

26
推荐指数
2
解决办法
2461
查看次数

很好地显示文件重命名历史记录在git日志中

git命令

git log --format='%H' --follow -- foo.txt
Run Code Online (Sandbox Code Playgroud)

将为您提供一系列提交,foo.txt在重命名后跟随它.

我想知道是否有一个git log命令也会在每次提交旁边打印相应的历史文件名.

这将是这样的,我们可以解释'%F'为文件名的(实际上不存在的)占位符.

git log --format='%H %F' --follow -- foo.txt
Run Code Online (Sandbox Code Playgroud)

我知道这可以用

git log --format='%H' --follow --numstat -- foo.txt
Run Code Online (Sandbox Code Playgroud)

但输出并不理想,因为它需要一些非平凡的解析; 每个提交都遍布多行,您仍然需要解析文件重命名语法("bar.txt => foo.txt")以找到您要查找的内容.

git

22
推荐指数
2
解决办法
6014
查看次数

Django:重写Model.validate_unique

覆盖Django的Model.validate_unique的正确方法是什么?我尝试覆盖它并提升我自己ValidationError,但得到了这个错误:

AttributeError: 'ValidationError' object has no attribute 'message_dict'
Run Code Online (Sandbox Code Playgroud)

django django-models

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

比较Python代码的等价性

是否有可靠的自动方式(如命令行实用程序)来检查两个Python文件是否等效模数空格,分号,反斜杠延续,注释等?换句话说,他们与翻译相同?

例如,这个:

import sys
sys.stdout.write('foo\n')
sys.stdout.write('bar\n')
Run Code Online (Sandbox Code Playgroud)

应被视为等同于此:

import   sys
sys.stdout.\
    write('foo\n'); sys.stdout.\
    write(

    'bar\n') # This is an unnecessary comment
Run Code Online (Sandbox Code Playgroud)

python

9
推荐指数
2
解决办法
235
查看次数

OS X:列出并删除带空格的文件

我想在OS X中这样做:

ls -rt | xargs rm -i
Run Code Online (Sandbox Code Playgroud)

然而,rm令人窒息的事实是一些文件有空格.

我提到OS X因为BSD的版本ls没有-Q标志.

有没有办法这样做而不必使用find -print0

macos bash

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

在 Python 中,为什么不能用 lambda 编写累加器生成器?

Paul Graham描述了以下问题:

我们想编写一个生成累加器的函数——一个函数接受一个数字 n,并返回一个接受另一个数字 i 并返回 n 递增 i 的函数。

他说虽然这样的函数可以在 Lisp/Ruby/Perl 中实现,就像这样简单

(defun foo (n)
  (lambda (i) (incf n i)))
Run Code Online (Sandbox Code Playgroud)

, 在 Python 中它会被写成

class foo:
  def __init__(self, n):
      self.n = n
  def __call__(self, i):
      self.n += i
      return self.n
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,Python 究竟是什么(除了缺乏对多行 lambda 的支持)阻止您以上面第一个代码示例的简洁风格实现累加器生成器?正如 Paul Graham 推测的那样,Python 将来会支持这样的事情吗?

python functional-programming

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

获取插入到 psycopg2 中的多行的 id

我想将 psycopg2 用于INSERT多行,然后id使用单个查询返回所有s(按顺序)。这就是 PostgreSQLRETURNING扩展的设计目的,使用cursor.execute以下命令似乎可以正常工作:

cursor.execute(
    "INSERT INTO my_table (field_1, field_2) "
    "VALUES (0, 0), (0, 0) RETURNING id;"
)
print cursor.fetchall()

[(1,), (2,)]
Run Code Online (Sandbox Code Playgroud)

现在,为了传递动态生成的数据,似乎cursor.executemany是要走的路:

data = [(0, 0), (0, 0)]

cursor.executemany(
    "INSERT INTO my_table (field_1, field_2) "
    "VALUES (%s, %s) RETURNING id;",
    data
)
Run Code Online (Sandbox Code Playgroud)

但是,在这种情况下,cursor.fetchall()会产生以下结果:

[(4,), (None,)]
Run Code Online (Sandbox Code Playgroud)

我如何让它正确返回所有ids 而不是一个?

python postgresql psycopg2

5
推荐指数
2
解决办法
6845
查看次数

显示散景图的abitrary轴值

有没有办法随意指定一个Bokeh图形轴上显示的值?

例如,假设您有一个分类轴x_range [Jan 2001, Feb 2001, Mar 2001, ... December 2010],但您只想显示年份值[2001, 2002, ... 2010].因此,显而易见的方法是指定一个值到显示的映射,其中所有January值都映射到year字符串,所有其他值都映射到空字符串.这在散景中真的有可能吗?

bokeh

5
推荐指数
0
解决办法
166
查看次数

在 Bash shell 中,为什么 Python 仅在输出重定向或通过管道传输时才抱怨打印非 ascii 字符?

打印终端:

\n\n
> python -c \'print u"\\xae"\' # no complaints here!\n\xc2\xae\n
Run Code Online (Sandbox Code Playgroud)\n\n

打印到文件:

\n\n
> python -c \'print u"\\xae"\' > tmp.txt\nTraceback (most recent call last):\n  File "<string>", line 1, in <module>\nUnicodeEncodeError: \'ascii\' codec can\'t encode character u\'\\xae\' in position 0: ordinal not in range(128)\n
Run Code Online (Sandbox Code Playgroud)\n\n

当管道传输到cat例如,

\n

python bash

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

如何防止函数被强制转换为bool

以下python代码有一个bug:

class Location(object):
    def is_nighttime():
        return ...

if location.is_nighttime:
    close_shades()
Run Code Online (Sandbox Code Playgroud)

错误是程序员忘记调用is_nighttime(或忘记@property在方法上使用装饰器),因此该方法通过bool评估True而不被调用来进行转换.

有没有办法阻止程序员这样做,在上面的情况下,以及在is_nighttime一个独立的函数而不是方法的情况下?例如,具有以下精神的东西?

is_nighttime.__bool__ = TypeError
Run Code Online (Sandbox Code Playgroud)

python

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