小编dav*_*gan的帖子

使用字符串而不是点语法访问Django模型的字段?

在Django中,我可以这样做:

test = Test.objects.get(id=1)
test.name
Run Code Online (Sandbox Code Playgroud)

我希望能够使用动态生成的字符串访问属性,如下所示:

test['name']
Run Code Online (Sandbox Code Playgroud)

或者,使用字符串的任何其他语法.我试过了

test._meta.get_field_by_name('name')
Run Code Online (Sandbox Code Playgroud)

但这会返回字段本身而不是值.

有任何想法吗?

django django-models

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

以编程方式打开Chrome插件的options.html页面?

有没有办法通过back.html中的Javascript打开Goog​​le Chrome插件的options.html页面?

javascript google-chrome google-chrome-extension

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

我可以获取抛出异常的Python函数的局部变量吗?

我正在为项目编写自定义日志记录系统.如果函数抛出异常,我想记录它的局部变量.是否可以从捕获异常的except块访问raise函数的局部变量?例如:

def myfunction():
    v1 = get_a_value()
    raise Exception()

try:
    myfunction()
except:
    # can I access v1 from here?
Run Code Online (Sandbox Code Playgroud)

python exception-handling

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

如何从Haskell中的read函数中捕获无解析异常?

在我的Haskell程序中,我想读取用户使用该getLine函数给出的值.然后我想使用该read函数将此值从字符串转换为适当的Haskell类型.如何捕获read函数抛出的解析错误并要求用户重新输入值?

我是否正确地认为这不是"IO错误",因为它不是由IO系统无法正常运行引起的错误?这是一个语义错误,所以我不能使用IO错误处理机制?

io haskell exception-handling

22
推荐指数
3
解决办法
8246
查看次数

枚举Clojure中的序列?

在Python中我可以这样做:

animals = ['dog', 'cat', 'bird']
for i, animal in enumerate(animals):
    print i, animal
Run Code Online (Sandbox Code Playgroud)

哪个输出:

0 dog
1 cat
2 bird
Run Code Online (Sandbox Code Playgroud)

我如何在Clojure中完成同样的事情?我考虑使用这样的列表理解:

(println
  (let [animals ["dog" "cat" "bird"]]
    (for [i (range (count animals))
          animal animals]
      (format "%d %d\n" i animal))))
Run Code Online (Sandbox Code Playgroud)

但这会打印出数字和动物的每一个组合.我猜有一种简单而优雅的方法可以做到这一点,但我没有看到它.

enumeration clojure

21
推荐指数
4
解决办法
6132
查看次数

在Haskell中将元组的元素作为参数提供给函数?

在我的Haskell程序中,我想使用printf来格式化元组列表.我可以将printf映射到列表上,一次打印一个值,如下所示:

mapM_ (printf "Value: %d\n") [1,2,3,4]

Value: 1
Value: 2
Value: 3
Value: 4
Run Code Online (Sandbox Code Playgroud)

我希望能够做到这样的事情:

mapM_ (printf "Values: %d %d\n") [(1,100),(2,350),(3,600),(4,200)]

Values: 1 100
Values: 2 350
Values: 3 600
Values: 4 200
Run Code Online (Sandbox Code Playgroud)

但是这会将一个元组传递给printf,而不是两个单独的值.如何将元组转换为printf的两个参数?

printf haskell functional-programming currying

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

使用Office Interop将单元格写入Excel的最快方法?

我正在编写一个函数,使用VB .NET中的Office Interop将数据导出到Excel.我目前正在使用Excel工作表的Cells()方法直接编写单元格:

worksheet.Cells(rowIndex, colIndex) = data(rowIndex)(colIndex)
Run Code Online (Sandbox Code Playgroud)

这需要很长时间才能获得大量数据.是否有更快的方法可以立即将大量数据写入Excel?用范围做事会更快吗?

vb.net com excel performance office-interop

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

PHP相当于Python的enumerate()?

在Python中我可以写:

for i, val in enumerate(lst):
    print i, val
Run Code Online (Sandbox Code Playgroud)

我知道如何在PHP中执行此操作的唯一方法是:

for($i = 0; $i < count(lst); $i++){
    echo "$i $val\n";
}
Run Code Online (Sandbox Code Playgroud)

PHP中有更清洁的方法吗?

php python iteration

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

确定Python列表是否相同95%?

这个问题询问如何确定列表中的每个元素是否相同.我如何以合理有效的方式确定列表中95%的元素是否相同?例如:

>>> ninety_five_same([1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1])
True
>>> ninety_five_same([1,1,1,1,1,1,2,1]) # only 80% the same
False
Run Code Online (Sandbox Code Playgroud)

这需要有些效率,因为列表可能非常大.

python algorithm list

12
推荐指数
3
解决办法
925
查看次数

在编辑时,如何轻松地重新加载Emacs lisp代码?

作为一名Emacs初学者,我正致力于编写一个小模式.我目前(天真)编程elisp的方法包括进行更改,关闭Emacs,重新启动Emacs以及观察更改.我该如何简化这个过程?是否有命令刷新一切?

emacs elisp

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