我从CouchDB数据库中获得了一组完全不同的复杂JSON对象.每个都包含许多级别的嵌套属性 - 例如,
tps_report.personnel_info.productivity.units_sold = 8
Run Code Online (Sandbox Code Playgroud)
我想迭代这些对象并用它们做些事情:例如,
// writes units sold from each TPS report:
for (i in tpsReports) {
if (tpsReports[i].personnel_info.productivity.units_sold < 10) {
fireEmployee();
}
}
Run Code Online (Sandbox Code Playgroud)
问题是许多TPS报告没有设置所有这些属性.因此,如果我尝试这个,我将在第一次循环到达没有"personnel_info"属性的报告时出现错误,从而尝试找到"未定义"的"生产力"属性.我宁愿发生的是条件只是跳过它并继续.
我看到了两种方法,这两种方式对我来说都很难看
我更喜欢的是PHP的isset()函数,它不会抛出错误,无论你提供什么 - 它只会告诉你你正在寻找的特定变量是否存在.所以,就像
// writes units sold from each TPS report:
for (i in tpsReports) {
if (isset(tpsReports[i].personnel_info.productivity.units_sold)){
if (tpsReports[i].personnel_info.productivity.units_sold < 10) {
fireEmployee();
}
}
}
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
如果我正在开发一个客户端 - 服务器应用程序并且有3个文件(client.py,server.py和common.py,)并且common.py具有有用的功能(例如normalize()),那么客户端和服务器都可以轻松地执行以下操作:
from common import *
url = normalize(url)
Run Code Online (Sandbox Code Playgroud)
但是,如果出于各种奇怪的原因,我宁愿拥有单独的子目录(client,server和common),并且每个函数都有自己的文件,似乎没有类似的快捷方式.
我必须摆弄sys.path,然后在导入后我需要使用url=normalize.normalize(url).我确信我可以编写一个解决方法,但是我已经不知道有一些Pythonic处理这种方法吗?
更新:以下是按照Ignacio的建议完成后的方法:
$ cat common/__init__.py; client/login.py jcomeauictx.myopenid.com
import os, sys
for module in os.listdir(os.path.dirname(__file__)):
print >>sys.stderr, 'module: %s' % module
name, extension = os.path.splitext(module)
if extension == '.py' and not name.startswith('_'):
importer = 'from %s import %s' % (name, name)
print >>sys.stderr, 'import statement: %s' % importer
exec(importer) …Run Code Online (Sandbox Code Playgroud) 我正在使用JDBC进行非常简单的数据库连接.
我创建了我的连接/语句并执行了查询.我在调试器中检查语句的查询对象以确认它正在发送正确的查询.然后我仔细检查数据库上的查询(直接从调试器复制)以确保它返回数据.但是,返回的结果集在.next()上给出了错误
这里有任何常见的陷阱,我错过了吗?
public List<InterestGroup> getGroups() {
myDB.sendQuery("select distinct group_name From group_members where
username='" + this.username + "'");
ResultSet results = myDB.getResults();
List<InterestGroup> returnList = new ArrayList<InterestGroup>();
try {
while (results.next()) {
returnList.add(new InterestGroup(results.getString("group_name"), myDB));
}
return returnList;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
和myDB类(简单的包装器,让我将连接/语句代码放入任何项目)
public void sendQuery(String query){
this.query = query;
try {
if(statement == null){
statement = connection.createStatement();
}
results = statement.executeQuery(query);
} catch (SQLException e) {
System.out.println(query);
currentError = e;
results = null; …Run Code Online (Sandbox Code Playgroud) 我正在准备一个应用程序,我想在iPhone和iPad上使用它.
如何检测当前主机设备是iPhone还是iPad?
基于此,我想对用户界面进行更改
目录/ opt/src中的A,B,C文件
D,E,dircory/opt/dest中的文件
比较src和dest,弄清楚应该将B,C添加到dest并删除D,E,并查看是否更改了A.
并给A一个二进制补丁或只是覆盖它.
所有这些操作打包在一个补丁文件中,包括已更改和丢失的文件内容,我可以将此文件复制到另一台机器上执行.
我知道编写一些程序来做这件事很简单,但我不想再发明轮子
rsync似乎满足了我的大多数需求,但不知道如何制作补丁.
谢谢
我的shell脚本中有以下行:
if [-n"$ {USE_X:+1}"]; 然后
我无法弄清楚":+"部分意味着什么.有任何想法吗?
当我点击select元素时,我需要记住所选元素的旧值.
此代码适用于FF,CHROME和OPERA,而不是IE.
码:
$(document).ready(function() {
$('#viewTableOrders tr td > select').click(function() {
oldCurrentPath = $(this).val();
oldId = $(this).attr('title');
oldCurrentDate = $('#viewTableOrders tr#vagon' + oldId + '> td >input.input_ver1').val();
dataAjax = {};
});
/* event on change path */
$('#viewTableOrders tr td > select').change(function() {
//do something... + old value
});
});
Run Code Online (Sandbox Code Playgroud) 我在JNI部分中有以下代码片段:
JNIEnv* env = AndroidRuntime::getJNIEnv();
Run Code Online (Sandbox Code Playgroud)
上面的语句总是在我的函数中返回NULL.然后我使用env并使用回调机制在Java代码中调用一些方法.
getJNIEnv()中的这部分代码始终返回NULL.
if (vm->GetEnv((void**) &env, JNI_VERSION_1_4) != JNI_OK)
{
return NULL;
}
Run Code Online (Sandbox Code Playgroud)
谁能告诉我代码有什么问题?这看起来很正常,因为JNI中的其他函数也具有几乎相似的实现.
我最近开始研究Open XML SDK 2.0.
我想知道是否有更好的文档(而不是开放的xml sdk2.0本身)或任何其他资源来学习使用Open XML SDK?
我可以理解multiset有count(),用于计算值的出现次数,因为元素可以在multiset中重复.但是,如果所有值都是唯一的,那么将count()设置为set是什么意思?
javascript ×2
android ×1
bash ×1
c++ ×1
cocoa-touch ×1
compare ×1
device ×1
directory ×1
graph ×1
import ×1
ios4 ×1
iphone ×1
java ×1
jdbc ×1
jquery ×1
linux ×1
ms-office ×1
object ×1
openxml ×1
openxml-sdk ×1
oracle ×1
package ×1
packages ×1
properties ×1
python ×1
resultset ×1
scripting ×1
set ×1
shell ×1
sql ×1
stl ×1
variables ×1