从文件中没有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

回到顶部