首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xml libxml2解析

xml libxml2解析
EN

Stack Overflow用户
提问于 2016-07-23 02:21:51
回答 1查看 59关注 0票数 0

在下面的代码中,我的问题是它只根据一个输入文件将输出写入所有文件夹。有人能给我一个提示并检查我的代码是否正确循环吗?

代码语言:javascript
复制
import libxml2
import os.path
from numpy import *
from cfs_utils import *

np=[1,2,3,4,5,6,7,8]
n=[20,30,40,60,80,100,130]
solver=["CG_iluk", "CG_saamg", "CG_ssor", "BiCGSTABL_iluk",   "BiCGSTABL_saamg", "BiCGSTABL_ssor", "cholmod", "ilu" ]
file_list=["eval_CG_iluk_default","eval_CG_saamg_default", "eval_CG_ssor_default", "eval_BiCGSTABL_iluk", "eval_BiCGSTABL_saamg", "eval_BiCGSTABL_ssor","simp_cholmod_solver_3D_evaluate ", "simp_ilu_solver_3D_evaluate" ]

for sol in solver:
    i=0
    for cnt_np in np:

        #open write_file= "Graphs/" +  "Np"+ cnt_np + "/CG_iluk.dat"
        #"Graphs/Np1/CG_iluk.dat"


        write_file = open("Graphs/"+ "Np"+ str(cnt_np) + "/" + sol + ".dat", "w")

        #loop through different unknowns
        for cnt_n in n:

            #open file "cfs_calculations_" + cnt_n +"np"+ cnt_np+ "/" +  file_list(i) + "_default.info.xml"

            read_file = "cfs_calculations_" +str(cnt_n) +"np"+ str(cnt_np) + "/" +  file_list[i] + ".info.xml"

            #read wall and cpu time and write

            if os.path.exists(read_file):
                doc = libxml2.parseFile(read_file)
                xml = doc.xpathNewContext()
                walltime = xpath(xml, "//cfsInfo/sequenceStep/OLAS/mechanic/solver/summary/setup/timer/@wall")
                cputime = xpath(xml, "//cfsInfo/sequenceStep/OLAS/mechanic/solver/summary/setup/timer/@cpu")
                unknowns = 3*cnt_n*cnt_n*cnt_n
                write_file.write(str(unknowns) + "\t" +  walltime + "\t" +  cputime + "\n")
                doc.freeDoc()
        write_file.close()
    i=i+1
EN

回答 1

Stack Overflow用户

发布于 2016-07-23 20:07:07

问题解决了,i= o,在循环之外

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38533050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档