【发布时间】:2021-02-02 06:37:17
【问题描述】:
有人知道我如何逐行读取“数据”吗?我的目标是逐行读取数据并在按下“发送”时将其发送到某个地方。目前我可以读取数据,但不能逐行读取。
我做了什么
def mouseHover(event):
x = lbox.curselection()[0]
file = lbox.get(x)
self.s.send(("fdown~" + file).encode("utf-8"))
self.s.recv(1024).decode("utf-8")
self.s.send("OK".encode("utf-8"))
open(file , 'wb+') #must have
global data
data = (self.s.recv(1024).decode("utf-8") )
sys.stdout.flush()
self.text.insert(tk.END, data)
lbox.bind("<<ListboxSelect>>", mouseHover)
【问题讨论】:
-
您是否尝试拆分文件中的数据?使用 file.split() ?它是否将其转换为列表。然后你可以逐行遍历列表
-
根据我看到的例子,我认为你需要给
for i in x: lbox.get(i)来获取每一行 -
你为什么调用
open()而不将结果分配给变量?这只会清空文件,但不会向其中写入任何内容。 -
readlines()用于从文件中读取行。如果字符串中有多行,可以使用splitlines()。