基本上,它是我们的协作者用来生成网格的python代码,它是在Linux环境下开发的。我使用Cygwin在Windows上运行此代码。故障部分如下。 BiV_temp.geo也是一个python脚本。所以命令是替换字符串<>在BiV_temp.geo脚本中,带有预定义的数字和文件名。
os.system('cp BiV_fiber.geo BiV_temp.geo')
cmd = "sed -i 's/<<Meshsize>>/"+"%5.2f"%(meshsize)+"/g' BiV_temp.geo"
os.system(cmd)
cmd = "sed -i 's/<<LVfilename>>/"+"\"%s\""%(LVendocutfilename)+"/g' BiV_temp.geo"
os.system(cmd)
cmd = "sed -i 's/<<RVfilename>>/"+"\"%s\""%(RVendocutfilename)+"/g' BiV_temp.geo"
os.system(cmd)
cmd = "sed -i 's/<<Epifilename>>/"+"\"%s\""%(epicutfilename)+"/g' BiV_temp.geo"
os.system(cmd)
cmd = "gmsh -3 BiV_temp.geo -o %s"%(mshfilename)
os.system(cmd)
cmd = "rm BiV_temp.geo"
os.system(cmd)
答案 0 :(得分:0)
理智的解决方案是让您的“协作者”编写Python代码,允许您将这些内容作为参数传递给函数调用。
答案 1 :(得分:-1)
"%5.2f"%(meshsize)
中注意到你写了%5
,为了添加文字你应该添加%s
并且还要避免加号,它会让它变得非常难以阅读和混乱,我会写下所有的像这样的一行:
meshsize = 100
cmd = "sed -i 's/<<Meshsize>>/%s5.2f/g' BiV_temp.geo" %meshsize
print cmd
如果你的meshsize
是x,y,z的列表,那么就这样写:
meshsize = (100,50,20)
cmd = "sed -i 's/<<Meshsize>>/%s,%s,%s5.2f/g' BiV_temp.geo" %meshsize
print cmd
希望有所帮助。