我必须使用这些文件的完整路径替换XML中的某些“文件名”。所有文件都在同一个目录中,这有点简化了一些事情。我试图使用BeautifulSoup4,但有一个错误,一直打破崩溃python所以我试图用正则表达式做同样的事情。
copasiML变量包含XML作为字符串。
我的代码:
copasiML=IA.read_copasiML_as_string(copasi_file)
data_file_names=re.findall('<Parameter name="File Name" type="file" value="(.*)"/>',copasiML)
for i in data_file_names:
copasiML2=re.sub('<Parameter name="File Name" type="file" value="'+i+'"/>','<Parameter name="File Name" type="file" value="'+os.path.join(os.getcwd()+i)+'"/>',copasiML)
os.remove(copasi_file)
with open(copasi_file,'w') as f:
f.write(str(copasiML2))
目前,我的代码运行但实际上并没有做任何事情。有人会碰巧知道如何修复我的代码吗?
非常感谢
答案 0 :(得分:0)
每次尝试使用正则表达式解析HTML / XML时,都会让小耶稣哭泣。
我BeautifulSoup不适合你,我建议使用python lxml - modify attributes中所示的XPath。
有趣(但有启发性)的读物: