从文件中没有Python中的特定词在Python
计划,该计划,从文件中没有Python中的特定词在Python
删除开头的行<div
与>
结束,但没有在这之间的单词text-align
删除线。
输入:
<div> <div><div>
<div style="text-align: center;">
<div kjgueberhfui;hh;ah>
<div kjfh fhefhufh fhueshf >
<span>PANKY</span>
<div style="text-align: left;">
输出:
<div style="text-align: center;"> <span>PANKY</span>
<div style="text-align: left;">
我正在寻找类似:
f1 = open('input.txt','r') filedata = f1.read()
filedata = re.sub("<div[^>]*/^((?!text-align).)*$/[^>]*>","",filedata)
OR
f1 = open('input.txt','r') for line in f1:
if "<div" in line:
if "text-align" in line;
else:
f1.write(line.replace(THIS_LINE,"")
以上2个代码不工作或不完整!
回答:
f1 = open('input.txt','r') for line in f1:
if "<div" in line:
if "text-align" in line;
else:
f1.write(line.replace(THIS_LINE,"")
if后没有声明,所以它不能工作。除了你可以结合两个条件:
with open('input.txt','r') as f1, open('output.txt', 'w') as f_out: for line in f1:
if not ("<div" in line and "text-align" not in line):
f2.write(line)
回答:
你可以使用startswith和endswith函数的字符串。
if line.startswith('<div') & line.endswith('>') & ('text-align' not in line): #do something
回答:
更正确和完整的回答这个问题是这样的:
lines = open("input.txt").read().splitlines() with open("input.txt", "w") as file:
for line in lines:
if not (line.startswith("<div") and "text-align" not in line and line.endswith(">")):
file.write(line + "\n")
这将从input.txt
回答:
我希望这将帮助您删除所有不必要的行:
with open('input.txt','rb+') as f1: for div in f1:
if 'text-align' in div or '<div' not in div:
print(div)
回答:
THANKYOU EVERYONE, 因为你所有我能搞清楚我的答案,
一些代码输出的是什么,我问了,但这里的反向是这是解决我的答案代码,
f1 = open('input.txt','r') f2 = open('output.txt','w')
for line in f1:
if "<div" in line and "text-align" in line:
f2.write(line)
if "<div" not in line:
f2.write(line)
f1.close()
f2.close()
以上是 从文件中没有Python中的特定词在Python 的全部内容, 来源链接: utcz.com/qa/265121.html