给出以下两个表:
Person table
id (pk)
first
middle
last
age
Address table
id(pk)
person_id (fk person.id)
street
city
state
zip
Run Code Online (Sandbox Code Playgroud)
如何创建一个SQL语句,返回邮政编码为97229的人的所有信息?
我正在为我的CS类编写一个shell,项目的一部分涉及如果用户传入'&'字符,则在后台运行一个进程.
如果进程在前台运行,我只是execvp进程,它仍然在终端的控制之下,因为它在前台.但是,如果它是后台进程,我必须在开始执行进程后将控制权返回给我的主shell.我知道系统调用tcsetpgrp(pid_t)将进程作为参数传递给前台,但我不太明白如何使用它.
我应该叫tcsetpgrp后execvp,如果它是一个后台进程?如果是这样,我可以通过电话获取我的shell的pid getpid吗?
我编写了一个脚本,以xml格式打印出当前目录中的所有.xml文件,但我无法弄清楚如何将xmlns属性添加到顶级标记.我想得到的输出是:
<?xml version='1.0' encoding='utf-8'?>
<databaseChangeLog
xmlns="http://www.host.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.host.org/2001/XMLSchema-instance"
xsi:schemaLocation="www.host.org/xml/ns/dbchangelog">
<include file="cats.xml"/>
<include file="dogs.xml"/>
<include file="fish.xml"/>
<include file="meerkats.xml"/>
</databaseChangLog>
Run Code Online (Sandbox Code Playgroud)
但是,这是我得到的输出:
<?xml version='1.0' encoding='utf-8'?>
<databaseChangeLog>
<include file="cats.xml"/>
<include file="dogs.xml"/>
<include file="fish.xml"/>
<include file="meerkats.xml"/>
</databaseChangLog>
Run Code Online (Sandbox Code Playgroud)
这是我的脚本:
import lxml.etree
import lxml.builder
import glob
E = lxml.builder.ElementMaker()
ROOT = E.databaseChangeLog
DOC = E.include
# grab all the xml files
files = [DOC(file=f) for f in glob.glob("*.xml")]
the_doc = ROOT(*files)
str = lxml.etree.tostring(the_doc, pretty_print=True, xml_declaration=True, encoding='utf-8')
print str
Run Code Online (Sandbox Code Playgroud)
我在网上找到了一些显式设置命名空间属性的例子,这里和这里,但说实话,我刚刚开始时,他们有点过头了.有没有其他方法将这些xmlns属性添加到databaseChangeLog标记?