【发布时间】:2020-09-25 08:06:17
【问题描述】:
我正在尝试使用 Python 来编辑 Abaqus 输入文件,并且我需要找出哪些行具有某些标题(例如“*Nodes”、“*Elements”)。我有如下代码可以正常工作:
headerline = 0
for line in input.readlines():
if line.lower().startswith('*node'):
break
headerline = headerline + 1
print(headerline)
这会打印正确的值,在本例中为 8。但是,如果我背靠背运行,或者尝试搜索另一个标题,它总是为下一个标题打印零。
headerline = 0
for line in input.readlines():
if line.lower().startswith('*node'):
break
headerline = headerline + 1
print(headerline)
headerline = 0
for line in input.readlines():
if line.lower().startswith('*node'):
break
headerline = headerline + 1
print(headerline)
headerline = 0
for line in input.readlines():
if line.lower().startswith('*node'):
break
headerline = headerline + 1
print(headerline)
headerline2 = 0
for line in input.readlines():
if line.lower().startswith('*element'):
break
headerline2 = headerline2 + 1
print(headerline2)
这两个示例都打印出第一个标题行的正确值,然后为下一个标题行给出 0,即使我确实在做完全相同的事情。
我在这里遗漏了什么将其永久设置为零?
【问题讨论】:
标签: python header abaqus readlines startswith