为了账号安全,请及时绑定邮箱和手机立即绑定

Python open() 在 w+ 模式下不创建文件

Python open() 在 w+ 模式下不创建文件

GCT1015 2023-07-11 13:53:19
我正在创建一个应用程序,该应用程序查看网站的文本,然后检查输入字符串是否位于网站 url 的 url 中。我正在做的方式是:替换给定字符串中的空格 (' ')(因为 url 不能有空格,废话)使用 requests 获取网站 url 的文本创建一个新文件并将您在网站中找到的每个字符串写入该文件中。逐行读取文件,如果其中一行包含该字符串,则在网络浏览器中打开它。我希望我解释得很好。这是我的代码:def getGame():    game = gameEntry.get()    gameClean = game.replace(' ', '_')    print(gameClean)    gameCheck1 = requests.get('INSERT LINK HERE')    game2 = gameCheck1.text    with open('Links.txt', 'w+') as f:        f.write(game2)        readLinks = f.readlines()        for link in readLinks:            if game in link:                print(f'Found working link: {link}')提前致谢。
查看完整描述

1 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

当你写入文件时,文件指针会指向文件的末尾;随后的读取从文件末尾开始,但什么也没找到。要修复此问题,请f.seek(0)在调用后write调用将文件指针移回文件开头。

另外,顺便说一句,没有理由打电话.readlines();只需readlines完全删除该行并将循环更改为:

for link in f:

并且您将按需阅读这些行(而不是list当您一次只需要一行时预先创建整个行)。


查看完整回答
反对 回复 2023-07-11
  • 1 回答
  • 0 关注
  • 212 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信