python - 比较本地文件中的数字,如果数字高于本地文件,则覆盖
问题描述
我正在尝试将本地文件中的数字与我正在抓取的数字进行比较。我的独特问题是我不知道如何读取文件并将其与我拥有的数字进行比较。其他一切正常。
我的代码:
all_div = driver.find_elements_by_xpath("//div[@class='im_message_outer_wrap hasselect']")
for x in range(0,len(all_div)):
idMessage = all_div[x].get_attribute('data-msg-id')
if idMessage > open('idMessage.js', 'r'):
all_div[x].click()
fp = open('idMessage.js', 'w')
fp.writelines(idMessage)
错误:
TypeError: '>' not supported between instances of 'str' and '_io.TextIOWrapper'
json文件里面的内容:
207
注意:当 FOR 循环比他大时,json 文件中的数字总是会改变。
该文件是 json 文件,但如有必要,我可以将其替换为 .txt 或任何其他扩展名而不会出现问题。
解决方案
你可以试试这个来读取 js 文件。
# first read data from the js file
f = open('idMessage.js', 'r')
p = f.readline()
f.close()
all_div = driver.find_elements_by_xpath("//div[@class='im_message_outer_wrap hasselect']")
for x in range(0,len(all_div)):
idMessage = all_div[x].get_attribute('data-msg-id')
# use data from js file here
if int(idMessage) > int(p.strip()):
all_div[x].click()
fp = open('idMessage.js', 'w')
fp.writelines(idMessage)
推荐阅读
- c# - 如何编写sql可转换表达式
- javascript - 使用角度 9 进行路由延迟加载
- node.js - 发送来自表单数据的图像和来自邮递员的 JSON 数据用于节点 js
- node.js - 如何在不使用官方 MongoDB Node.js 驱动程序的情况下使用本机 nodejs 连接到 mongodb 数据库?
- javascript - 获取具有特定数据 id 的特定文件字段并使用 jQuery 清除它
- anylogic - 关于Anylogic中抢占多个资源的问题
- python - Python 3:在范围内重新定义时变量变得未解析
- arrays - 在 VHDL 中初始化数组:它究竟是如何工作的?
- loopbackjs - 如何在 Loopback 4 中包含所有潜在层的嵌套关系?
- assembly - 将汇编代码转换为内部代码?