我有一个函数,它可以逐行读取一个文件,并将其插入到一个textinput中。
def load_list(self, path, filename):
self.text_from_file.text = ''
with open(filename[0], 'r') as file:
line = file.readline()
cnt = 1
while line:
sentence = "{}".format(line.strip())
self.text_from_file.text += sentence + "\n"
line = file.readline()
cnt += 1
self.dismiss_popup()
现在文件内容被存储在 text_from_file
变量,即 text_from_file = ObjectProperty(None)
类型(我使用的是kivy)。
我想做的是从 textinput
(text_from_file.text
),并将每一行添加到一个列表中,所以一行就是列表中的一个项目。我如何读取 textinput
一行一行的?和from file的效果一样吗?我不想在上面的函数中马上做。我想以后在一个单独的函数中进行。
从一个文件中获取所有行的简单方法是这样的。
with open(filename, 'r') as f:
lines = [line for line in f]
# do something with lines
EDIT:
要逐行读取一个变量,只需用'\n'分割它,然后遍历结果。
for line in self.text_from_file.text.split('\n'):
print(line)