gpt4 book ai didi

python - 从一个文件写入另一个python

转载 作者:太空宇宙 更新时间:2023-11-04 10:22:51 27 4
gpt4 key购买 nike

我正在尝试获取从网页获得的一些信息,并将其中一个变量写入文件,但我运气不好,这可能非常简单,但我迷路了。这是其中一行的示例,共有 1253 行。

<div class='entry qual-5 used-demoman slot-head bestprice custom' data-price='3280000' data-name="Kill-a-Watt Allbrero" data-quality="5" data-australium="normal" data-class="demoman" data-particle_effect="56" data-paint="" data-slot="cosmetic" data-consignment="consignment">

我在名为 data-name 的字段之后,它不在每一行的同一位置。我试过了,但是没有用

mfile=open('itemlist.txt','r')
mfile2=open('output.txt','a')
for row in mfile:
if char =='data-name':
mfile2.write(char)

编辑 1:

我制作了一个“hello hi peanut”的示例文件如果有:

for row in mfile:
print row.index('hello')

它会按预期打印 0,但是当我将 hello 更改为 hi 时,它没有返回 1,它什么也没返回。

最佳答案

让我们尝试使用常见的字符串操作方法来查找值:

>>> line = '''<div class='entry qual-5 used-demoman slot-head bestprice custom' data-price='3280000' data-name="Kill-a-Watt Allbrero" data-quality="5" data-australium="normal" data-class="demoman" data-particle_effect="56" data-paint="" data-slot="cosmetic" data-consignment="consignment">'''

我们可以使用str.index查找字符串在字符串中的位置:

>>> line.index('data-name')
87

现在我们知道我们需要开始查看我们感兴趣的属性的索引 87:

>>> line[87:]
'data-name="Kill-a-Watt Allbrero" data-quality="5" data-australium="normal" data-class="demoman" data-particle_effect="56" data-paint="" data-slot="cosmetic" data-consignment="consignment">'

现在,我们还需要删除 data-name=" 部分:

>>> start = line.index('data-name') + len('data-name="')
>>> start
98
>>> line[start:]
'Kill-a-Watt Allbrero" data-quality="5" data-australium="normal" data-class="demoman" data-particle_effect="56" data-paint="" data-slot="cosmetic" data-consignment="consignment">'

现在,我们也只需要找到右引号的索引,然后我们就可以只提取属性值了:

>>> end = line.index('"', start)
>>> end
118
>>> line[start:end]
'Kill-a-Watt Allbrero'

然后我们有了解决方案:

start = line.index('data-name') + len('data-name="')
end = line.index('"', start)
print(line[start:end])

我们可以把它放在循环中:

with open('itemlist.txt','r') as mfile, open('output.txt','a') as mfile2w
for line in mfile:
start = line.index('data-name') + len('data-name="')
end = line.index('"', start)
mfile2.write(line[start:end])
mfile2.write('\n')

关于python - 从一个文件写入另一个python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31233974/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com