【发布时间】:2019-03-22 17:52:22
【问题描述】:
我有一个文件如下,只要有一个空值的键,我想删除键和空引号
我的文件
<items="20" product="abc" condition="new">
<items="10" product="" condition="new">
<items="50" product="xyz" condition="">
<items="" product="mno" condition="fair">
想要的输出
<items="20" product="abc" condition="new">
<items="10" condition="new">
<items="50" product="xyz">
<product="mno" condition="fair">
我尝试过这样的事情,这仅删除了引号。我想删除 "="
之前的引号和值f= open('test.txt','r')
A1=f.read()
for i in A1:
if i=="''":
A1.remove(i)
print A1
break
【问题讨论】:
-
使用 XML 解析器。
-
我假设您遇到了修改正在使用的迭代器的情况。 stackoverflow.com/questions/13593585/… 是一个类似的问题。您不能在 for each 循环中更改您正在迭代的列表
-
另外,变量
i将包含完整的字符串。因此,如果该行完全为空白,您的代码只会删除该行。不可能,因为(如果我没记错的话)最后仍然是换行符。 -
此外,在 python 之外,这可以通过一个简单的查找和替换 sed 脚本相当快(通常)完成。
s/ [A-z]*=""/ /g是我首先想到的。可能过于宽泛,但应该仍然有效。
标签: python