小编Mar*_*cny的帖子

Python和例外

来自Java背景,当我被警告我没有捕获异常而不必阅读文档时,我喜欢它.如果我确实阅读了有关方法的文档,则抛出的异常会在文档的方法签名中显示.

使用Python,我必须经常阅读文档中的一段文字,找到一个句子,说明将抛出什么异常.

此外,我今天在Python中使用了第三方库,http://packages.python.org/kombu/reference/kombu.connection.html,这激怒了我.没有标准的文档格式?我使用的是通道方法(http://packages.python.org/kombu/reference/kombu.connection.html#kombu.connection.BrokerConnection.channel),它甚至没有声明它会引发异常.我必须通过反复试验找到这个.

我在这里遗漏了一些明显的东西,或者在Python及其文档中将异常视为事后的想法.

python exception

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

redis key-value key有什么限制?

set "as";b 1 is error 
key:  "as";b
value:   1
Run Code Online (Sandbox Code Playgroud)

key的命名规则是什么?

Redis 使用 SDS 来实现字符串。书上说 SDS 可以包含任何字符串结构

key redis

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

选择后立即删除PHP DELETE

我有一个PHP服务器脚本,它从MySQL数据库中选择一些数据.

只要我有mysql_query中保存在我自己的局部变量mysql_fetch_assoc的结果,我想删除我只是选择的行.

这种方法的问题在于,似乎PHP已经对我的局部变量进行了传递而不是传值,并且我的局部变量在delete命令之后变得不确定.

反正有没有绕过这个?这是我的代码:

    $query="SELECT id, peerID, name FROM names WHERE peer = $userID AND docID = '$docID' AND seqNo = $nid";
    $result = mysql_query($query);

    if (!$result)
        self::logError("FAIL:1 getUsersNamesUpdate() query: ".$query."\n");     

    if (mysql_num_rows($result) == 0)
        return array();

    $row = mysql_fetch_assoc($result);
    $result = array();
    $result["id"] = $row["id"];
    $result["peerID"] = $row["peerID"];
    $result["name"] = $row["name"];

    $query="DELETE FROM names WHERE id = $result[id];";
    $result = mysql_query($query);

    if (!$result)
        self::logError("FAIL:2 getUsersNamesUpdate() query: ".$query."\n");         

    return $result;
Run Code Online (Sandbox Code Playgroud)

php mysql select sql-delete

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

使用getElementsByName而不从文档根目录开始

有没有一种方法可以在getElementsByName不从DOM根目录开始使用.

例如,我有一个div元素,并希望从该元素开始搜索.

如果没有,那么我是否必须编写自己的函数来递归遍历子节点,或者有不同的方法来执行它.

javascript dom

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

Ansible和库存特定的变量

是否可以将变量声明为库存水平?例如,我有一个用于我的开发环境的清单,另一个用于我的生产环境.

我有模板,我需要填充某些特定于任一环境的变量.

目前我似乎只能在组或主机级别设置这些变量,但我希望它适用于整个库存,以避免为我定义的每个组或主机重复自己!

ansible

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

从另一台计算机上撤消git push

好吧,所以我在家工作,使用2台带遥控器的电脑工作.

当我今天回到家时,我的家用电脑在我的工作电脑后面2天,我做了一个

git push origin master
Run Code Online (Sandbox Code Playgroud)

意外地搞砸了远程仓库(新克隆的代码现在坏了).

我已经看到了这个问题的接受答案,他提到了最后一个好的代码.

我的问题是,如果我想要的最后一份好文件在工作并且我在家,我该如何撤消我的更改?我不能告诉远程服务器撤消推送的最后一次更改吗?

git github

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

suing到不同用户后的linux和音频

我有一个第三方程序,我在linux(Ubuntu)中专门创建的用户下运行.我注意到它无法连接到ALSA并且还给出了以下错误:

2011/01/12 20:52:38 [ao:3]打开高级Linux声音架构(ALSA)输出(2个通道)...未指定协议xcb_connection_has_error()返回true

有问题的程序是liquidsoap,是一个无头(没有gui)音频流程序/

但是,当我尝试在默认用户帐户下运行程序时,一切正常.我的问题是,这是权限问题吗?如果是这样,我会在哪里解决这个问题?

linux audio permissions liquidsoap

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

为什么在python子进程中没有正确传递十六进制数字

我无法使用python subprocess.Popen来插入模式...使用2.6.

测试:打开python解释器......

import subprocess
a = subprocess.Popen(['ping', '-c 1', '-p ff', '172.16.1.1'],subprocess.PIPE)
Run Code Online (Sandbox Code Playgroud)

结果... ping:模式必须指定为十六进制数字.

我已经将ff替换为:"f","23",23,0x23和一系列事物.我只是想看看shell认为它的结果.但是shell = True并没有像我预期的那样,a.communicate()给出(无,无)

python hex subprocess parameter-passing

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

从CSS文件链接到CSS文件

是否可以从外部CSS文件调用另一个外部CSS文件?

css

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

修改Sinatra中预定义的'params'变量使其无效

请考虑以下简单代码:

post '/xxx' do
    puts params
end
Run Code Online (Sandbox Code Playgroud)

这很好用.现在考虑以下修改

post '/xxx' do
    params = params
    puts params
end
Run Code Online (Sandbox Code Playgroud)

现在params是零!! 我是Ruby的新手,并且不知道为什么会出现这种情况.显然我不想执行无用的params = params表达式,但我试图做一些更复杂的事情,包括修改params并发现它总是变成nil.

ruby sinatra

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

Pythonic方式返回函数中初始化的列表?

我正在编写一个函数来解析文件并构建一个列表.我可以想到两种方法来做到这一点,我想知道其中一个是否被认为更像Pythonic.

在第一种方法中,函数返回列表.

def initList(fname):
   mylist = []
   # process fname & build list
   return mylist

if __name__ == "__main__":
   list_a = initList('someFile')
Run Code Online (Sandbox Code Playgroud)

在第二种方式中,知道列表是可变对象,因此如果作为参数传递给函数,则函数中所做的任何更改都会更改实际列表,这样做:

def initList(fname, mylist):
   # process fname & build list

if __name__ == "__main__":
   list_a = []
   initList('someFile', list_a)
Run Code Online (Sandbox Code Playgroud)

我倾向于第一种方式,因为它使读者清楚该函数正在初始化列表.但是第二种方式在某种意义上似乎更为通用,如果initList()使用mylist.append()调用添加到列表中,则可以重用它来将元素添加到已存在的列表中,而第一种方法则不能.

关于最佳实践在这里会有什么共识?

python

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