Python 写入SSol.txt是成功的,但我如何才能读取SSol.txt?
我正在使用python 3.6.1。我自学了Python。。我无法理解这个错误是什么 这是我的密码:Python 写入SSol.txt是成功的,但我如何才能读取SSol.txt?,python,python-3.x,Python,Python 3.x,我正在使用python 3.6.1。我自学了Python。。我无法理解这个错误是什么 这是我的密码: from tkinter import * from tkinter import ttk from tkinter import messagebox import urllib.request as request def a(): url=("https://rp5.ru/%EC%95%88%EB%8F%99%EC%9D%98_%EB%82%A0%EC%94%A8
from tkinter import *
from tkinter import ttk
from tkinter import messagebox
import urllib.request as request
def a():
url=("https://rp5.ru/%EC%95%88%EB%8F%99%EC%9D%98_%EB%82%A0%EC%94%A8,_%EA%B2%BD%EB%B6%81")
raw_data = request.urlopen(url).read() #Bytes
text = raw_data.decode("utf-8")
where = text.find('k;">')
start_where = where +4
end_start = where +7
f = open("SSSol.txt", 'w+')
decoded = int(text[start_where:end_start])
k=f.write(str(decoded))
t = str(f.readline())
messagebox.showinfo("hello",t)
ttk.Button(win, text="?", command=a).grid()
没有发生错误,但没有输出任何内容。问题是,在写入
f
句柄后,您正在重新使用它
f = open("SSSol.txt", 'w+')
decoded = int(text[start_where:end_start])
k=f.write(str(decoded))
那部分没问题。现在:
t = str(f.readline())
您正在从文件末尾读取,因此t
是一个空字符串。因此,要么:
- 先执行
倒带文件f.seek(0)
- 关闭
并再次打开,这次使用f
模式(只读)。(无论如何都会更安全)r
(这就是说,我想这不是你真正的代码,因为当你手头已经有了缓冲区时,用同样的方法写+读同样的文件是相当无效的)可能会倒带文件
f.seek(0)
。或者关闭文件并再次打开以进行写入。