【发布时间】:2019-09-13 15:10:53
【问题描述】:
使用 Python 我想读取一个文本文件,搜索一个字符串并打印此匹配字符串与另一个字符串之间的所有行。
文本文件如下所示:
Text=variables.Job_SalesDispatch.CaptionNew
Tab=0
TabAlign=0
}
}
}
[UserVariables]
User1=@StJid;IF(fields.Fieldtype="Artikel.Gerät" , STR$(fields.id,0,0) , @StJid)
[Parameters]
[@Parameters]
{
[Parameters]
{
LL.ProjectDescription=? (default)
LL.SortOrderID=
}
}
[PageLayouts]
[@PageLayouts]
{
[PageLayouts]
{
[PageLayout]
{
DisplayName=
Condition=Page() = 1
SourceTray=0
现在我想打印所有“UserVariables”,所以只有[UserVariables] 和以方括号开头的下一行之间的行。在此示例中,这将是 [Parameters]。
到目前为止我所做的是:
with open("path/testfile.lst", encoding="utf8", errors="ignore") as file:
for line in file:
uservars = re.findall('\b(\w*UserVariables\w*)\b', line)
print (uservars)
什么只给了我[]。
【问题讨论】:
-
你想要的输出是什么?
-
我想要的输出是
User1=@StJid;IF(fields.Fieldtype="Artikel.Gerät" , STR$(fields.id,0,0) , @StJid)在这个例子中。但也可以有更多的 UserVariables,如User2=@StJid;IF(fields.Fieldtype="Artikel.Referenzgerät" , STR$(fields.id,0,0) , @StJid)。