本文整理汇总了Python中xml.etree.ElementTree.findall方法的典型用法代码示例。如果您正苦于以下问题:Python ElementTree.findall方法的具体用法?Python ElementTree.findall怎么用?Python ElementTree.findall使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xml.etree.ElementTree
的用法示例。
在下文中一共展示了ElementTree.findall方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: csc_to_graph
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import findall [as 别名]
def csc_to_graph(name):
tree = ET(name)
mote_id = [int(t.text) for t in tree.findall(".//mote/interface_config/id")]
mote_type = [t.text for t in tree.findall(".//mote/motetype_identifier")]
x = [float(t.text) for t in tree.findall(".//mote/interface_config/x")]
y = [float(t.text) for t in tree.findall(".//mote/interface_config/y")]
z = [float(t.text) for t in tree.findall(".//mote/interface_config/z")]
示例2: getProjectWebClassPath
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import findall [as 别名]
def getProjectWebClassPath():
tree = ElementTree()
project_cfg = getProjectCfg()
classPathXmlPath = os.path.join(os.getcwd(), ".tomcatplugin")
if not os.path.exists(classPathXmlPath):
return None
tree.parse(classPathXmlPath)
entries = tree.findall("webClassPathEntries/webClassPathEntry")
cp_entries = []
for entry in entries :
path = entry.text
if "M2_REPO" in path:
path = path.replace("M2_REPO",M2_REPO)
elif path.startswith("/"):
prj_name , inner_path = path[1:].split("/",1)
prj_ab_path = project_cfg.get(prj_name)
if prj_ab_path == None :
print "can't find project '%s' config in project.cfg " % (prj_name)
sys.exit(0)
path = os.path.normpath(os.path.join(prj_ab_path, inner_path))
path = os.path.normpath(path)
cp_entries.append(path)
return cp_entries
示例3: buildMediaTypeList
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import findall [as 别名]
def buildMediaTypeList(self, configObj, isUpdate):
#build fileTypeList
fileTypeList = []
if(isUpdate):
fileTypes = configObj.tree.findall('FileTypes/FileType')
else:
#build fileTypeList
configFile = util.joinPath(util.getAddonInstallPath(), 'resources', 'database', 'config_template.xml')
if(not xbmcvfs.exists(configFile)):
Logutil.log('File config_template.xml does not exist. Place a valid config file here: ' +str(configFile), util.LOG_LEVEL_ERROR)
return None, util.localize(32040)
tree = ElementTree().parse(configFile)
fileTypes = tree.findall('FileTypes/FileType')
for fileType in fileTypes:
name = fileType.attrib.get('name')
if(name != None):
type = fileType.find('type')
if(type != None and type.text == 'video'):
name = name +' (video)'
fileTypeList.append(name)
return fileTypeList, ''
示例4: coalesce
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import findall [as 别名]
def coalesce(etree, xpath, get_text = False):
elem = etree.findall(xpath)
if len(elem) != 0:
assert len(elem) == 1
res = elem[0]
if get_text:
res = res.text
return res
return None
示例5: fetchByEventId
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import findall [as 别名]
def fetchByEventId(self, eventId):
eventId = str(eventId)
doc = ElementTree(file="MarketData.xml")
symbols = []
for event in doc.findall(".//Event"):
if event.get("id") == eventId:
for symbol in event.findall(".//contract/symbol"):
symbols.append(symbol.text)
return self.fetchBySymbols(symbols)
示例6: fetchEventsByGroupId
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import findall [as 别名]
def fetchEventsByGroupId(self, eventGroupId):
eventGroupId = str(eventGroupId)
ids = []
doc = ElementTree(file="MarketData.xml")
for group in doc.findall(".//EventGroup"):
if group.get("id") == eventGroupId:
for event in group.findall(".//Event"):
eventId = event.get("id")
name = event.find(".//name").text
ids.append((eventId, name))
return ids
示例7: _Parser
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import findall [as 别名]
def _Parser(self, xmlfile):
"""MP.Parser(xmlfile)
Parser the xmlfile. Old parser version. Only for Convert.
"""
self.motifs = {}
xmltree = ElementTree()
try:
xmltree.parse(xmlfile)
except IOError:
logger.error("Fail to parser the xml file. Not exist or format error?")
return None
for pos in xmltree.findall("motif"):
tag = 'id'
attrib = pos.attrib
id = attrib[tag]
logger.debug(id)
self.motifs[id] = {}
self.motifs[id][tag] = [id]
tag = 'edition'
try:
self.motifs[id][tag] = [attrib[tag]]
except:
self.motifs[id][tag] = []
for tag in ('source', 'sourcefile', 'status', 'description', 'numseqs', 'pmid', 'dbd', \
'comment1', 'comment2', 'comment3', 'comment4', 'comment5'):
if pos.find(tag)!=None:
self.motifs[id][tag] = [pos.find(tag).text.strip()]
else:
self.motifs[id][tag] = []
for tag in ('species', 'entrez', 'synonym', 'refseq', 'symbol'):
if pos.find(tag+'list')!=None:
t = pos.find(tag+'list')
self.motifs[id][tag] = [i.text.strip() for i in t.findall(tag)]
else:
self.motifs[id][tag] = []
for tag in ('pssm',):
self.motifs[id][tag]=[]
if pos.find(tag)!=None:
plist = pos.find(tag).findall('pos')
plist.sort()
for t in plist:
t = t.findall('*')
t.sort()
self.motifs[id][tag].append([ float(s.text.strip()) for s in t ])
self.motifs[id][tag] = [self.motifs[id][tag]]
示例8: Parser
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import findall [as 别名]
def Parser(self, xmlfile):
"""MP.Parser(xmlfile)
Parser the xmlfile.
"""
self.motifs = {}
xmltree = ElementTree()
try:
xmltree.parse(xmlfile)
except IOError:
logger.error("Fail to parser the xml file. Not exist or format error?")
return None
for pos in xmltree.findall("motif"):
#get key and set empty element
key = pos.get(self.keyName)
if not key:
logger.error('No %s found for node.' %self.keyName)
return None
if key in self.motifs.keys():
logger.warning("%s has exist in instance."%key)
self.motifs[key] = {}
#add attribs and tags for each element.
for iattr in self.attr_list:
value = pos.get(iattr)
if value:
self.motifs[key][iattr] = [value]
else:
self.motifs[key][iattr] = []
for itag in self.tag_list:
self.motifs[key][itag] = [t.text.strip() for t in pos.findall(itag)]
itag = 'pssm'
self.motifs[key][itag]=[]
for ipssm in pos.findall(itag):
matrix = []
plist = ipssm.findall('pos')
plist.sort(key=lambda x:int(x.get('num')))
for t in plist:
base_A = float(t.find('A').text.strip())
base_C = float(t.find('C').text.strip())
base_G = float(t.find('G').text.strip())
base_T = float(t.find('T').text.strip())
matrix.append([base_A, base_C, base_G, base_T])
self.motifs[key][itag].append(matrix)
示例9: find_option_and_change
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import findall [as 别名]
def find_option_and_change(document: ElementTree, name: AnyStr, value: AnyStr):
"""Finds option in xml document and sets value
:param document: ElementTree object
:param name: swa option name
:param value: value for option
:return:
"""
xpath = './/preference[@name="{tag_name}"]'.format(tag_name=name)
for elem in document.findall(xpath):
elem.text = value
break
else:
warnings.warn(
'SWA option {name} is not found in SWA preference document. This'
' option wont be added to the document with value '
'"{value}".'.format(name=name, value=value),
RuntimeWarning
)
示例10: main
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import findall [as 别名]
def main(args):
if ((args.keyfile is None) or (args.target is None)):
ops.error('You must provide a keyfile and a target IP, please try again with -k and -t')
return
confxml = ElementTree()
configxmlfilename = os.path.join(dsz.lp.GetResourcesDirectory(), '..', 'implants', 'Darkpulsar-1.0.0.0.xml')
confxml.parse(configxmlfilename)
f = open(args.keyfile)
try:
newkey = f.read()
except Exception as ex:
ops.error('Error reading keyfile')
raise ex
finally:
f.close()
for ele in confxml.findall('{urn:trch}inputparameters'):
for subele in ele.findall('{urn:trch}parameter'):
if (subele.get('name') == 'SigPrivateKey'):
for keyele in subele.findall('{urn:trch}default'):
keyele.text = newkey
outfile = open(configxmlfilename, 'w')
try:
confxml.write(outfile)
except Exception as ex:
ops.error('Could not update the FUZZBUNCH config for DAPU')
raise ex
finally:
outfile.close()
redirport = 0
dsz.control.echo.Off()
(success, cmdid) = dsz.cmd.RunEx('local netconnections', dsz.RUN_FLAG_RECORD)
dsz.control.echo.On()
print cmdid
conns = ops.data.getDszObject(cmdid=cmdid).initialconnectionlistitem.connectionitem
while (redirport == 0):
redirport = random.randint(10000, 65500)
for conn in conns:
if (conn.local.port == redirport):
redirport = 0
break
dsz.cmd.Run(('redirect -tcp -lplisten %d -target %s %s' % (redirport, args.target, args.port)))
ops.info(('Your redirector has been started, local listening port to connect for DAPU is %d' % redirport))
ops.info('You can now start FUZZBUNCH to connect to DARKPULSAR. If you already launched FUZZBUNCH, you will need to start it again')
示例11: getProjectClassPath
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import findall [as 别名]
def getProjectClassPath():
tree = ElementTree()
classPathXmlPath = os.path.join(os.getcwd(), ".classpath")
if not os.path.exists(classPathXmlPath):
return None
tree.parse(classPathXmlPath)
entries = tree.findall("classpathentry")
cp_entries = []
for entry in entries :
if entry.get("kind") == "var" :
path = entry.get("path")
if "M2_REPO" in path:
path = path.replace("M2_REPO",M2_REPO)
path = os.path.normpath(path)
cp_entries.append(path)
if entry.get("kind") == "output" :
path = os.path.normpath(os.path.join(os.getcwd(), entry.get("path")))
cp_entries.append(path)
return cp_entries
示例12: add_csv_result
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import findall [as 别名]
import csv
from xml.etree import ElementTree
def add_csv_result(FileName,CaseName,CaseResult):
f=csv.writer(file(FileName,'ab'))
f.writerow([CaseName,CaseResult])
#f.close()
//生成结果目录
case = []
start_time = time.strtime('%Y%m%d_%H%M%S',time.localtime(time.time()))
result_dir = "./Result"+start_time
//解析xml中的testcase
tcRoot = ElementTree("./testCases.xml")
cn = tcRoot.findall("case")
for i in cn:
cases.append(i.text)
caseList = list(set(cases))
caseList.sort(key=cases.index)
title = ['CaseNames','Verify_result']
csv_results = open(result_dir+"/"+result_dir+".csv","wb")
f_csv = csv.writer(csv_results)
f_csv.writerow(title)
#f_csv.close()
for caseName in caseList:
case_result_dir = result_dir+"/"+caseName
os.popen("mkdir -p %s"%(case_result_dir))
try:
os.sys.path.append("TestCases/MRD8/")
示例13: BattleFeed
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import findall [as 别名]
class BattleFeed(eRepublikXMLProcessor):
" eRepublik battle feed class "
url = 'http://api.erepublik.com/v1/feeds/battle_logs/%s/%s'
def __init__(self, arg=None):
super(BattleFeed, self).__init__()
self.id = arg
self.curPage = -1
self.maxPages = -1
self.attacker = None
self.attackerId = None
self.defender = None
self.defenderId = None
self.raw_battles = None
self.battles = None
self.loaded = False
self.processed = False
def load(self):
if self.id == None:
raise Exception('id=None and BattleFeed.load was called')
if self.loaded or self.processed:
return
while self._loadNextPage():
Logger.log('Loaded page ' + str(self.curPage))
self.loaded = True
def process(self):
self.load()
if self.processed:
return
battles = Element('battles')
battles.attrib['id'] = str(self.id)
battles.attrib['attacker'] = self.attacker
battles.attrib['attacker-id'] = str(self.attackerId)
battles.attrib['defender'] = self.defender
battles.attrib['defender-id'] = str(self.defenderId)
for b in self.raw_battles.findall('battle'):
battle = Element('battle')
battle.attrib['time'] = b.find('time').text
battle.attrib['damage'] = b.find('damage').text
battle.attrib['citizen'] = b.find('citizen').text
battle.attrib['citizen-id'] = b.find('citizen-id').text
battles.append(battle)
self.battles = ElementTree(battles)
del self.raw_battles # free some memory
self.processed = True
def _loadNextPage(self):
if not self._getNextPage():
return False
xml = ''.join(urlopen(BattleFeed.url % (str(self.id), str(self.curPage))).readlines())
bl = XML(xml)
battleInfo = bl.find('battle-info')
self.maxPages = self.findInt(battleInfo, 'max-pages')
if not self.attacker:
self.attacker = self.findString(battleInfo, 'attacker')
self.attackerId = self.findInt(battleInfo, 'attacker-id')
self.defender = self.findString(battleInfo, 'defender')
self.defenderId = self.findInt(battleInfo, 'defender-id')
if not self.raw_battles:
self.raw_battles = ElementTree(bl.find('battles'))
else:
for b in bl.findall('battles/battle'):
self.raw_battles.getroot().append(b)
return True
def _getNextPage(self):
""" Sets curPage to next available page and returns true or
returns false if there are no more pages available.
"""
if self.curPage == -1:
self.curPage = 0
return True
if self.maxPages > self.curPage:
self.curPage = self.curPage + 1
return True
return False
def _findBattlesByCitizenId(self, citizenId):
"""
returns list of damages done by citizen(by citizenId)
"""
self.process()
damage = []
for b in self.battles.findall('battle'):
if int(b.attrib['citizen-id']) == citizenId:
# Found
damage.append(int(b.attrib['damage']))
return damage
def findBattles(self, arg):
self.process()
if type(arg) == int:
return self._findBattlesByCitizenId(arg)
#.........这里部分代码省略.........
示例14: makeSymbolToIdMap
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import findall [as 别名]
def makeSymbolToIdMap(self):
doc = ElementTree(file="MarketData.xml")
for event in doc.findall(".//contract"):
symbol = event.find("symbol").text
id = event.get("id")
self.symbol_id_map[symbol] = id
示例15: getMoviesFromRss
# 需要导入模块: from xml.etree import ElementTree [as 别名]
# 或者: from xml.etree.ElementTree import findall [as 别名]
def getMoviesFromRss(self, url, build_only=False):
rss = urlfetch.Fetch(url)
tree = ElementTree(fromstring(rss.content))
img_re = re.compile('<img src="([a-zA-Z0-9/:._\-]+)" ')
content_re = re.compile('— \n(.+)')
release_re = re.compile('Release:</strong> ([a-zA-Z]{3,4})\. ([0-9]{1,2}), ([0-9]{4})')
new_movies = []
update_movies = []
for item in tree.findall('.//item'):
title = item.find('title').text.strip()
is_new = True
movie = getMovie(title)
if (not movie):
movie = Movie()
else:
is_new = False
if (build_only):
continue
description = item.find('description').text.strip()
summary = (content_re.search(description)).groups()[0]
release_match = (release_re.search(description))
imageMatch = img_re.search(description)
movie.title = title
movie.full_content = description
movie.summary = db.Text(summary)
if (release_match):
release_month = MONTHS.index(release_match.groups()[0].upper()) + 1
release_date = int(release_match.groups()[1])
release_year = int(release_match.groups()[2])
movie.release_date = datetime.datetime(release_year, release_month, release_date)
if (imageMatch):
picture_url = imageMatch.groups()[0]
movie.picture = db.Blob(urlfetch.Fetch(picture_url).content)
movie.put()
if (is_new):
new_movies.append(title)
else:
update_movies.append(title)
movies = {}
movies['new'] = new_movies
movies['update'] = update_movies
return movies