【问题标题】:Read textinput line by line and add into a list逐行读取文本输入并添加到列表中
【发布时间】:2020-08-09 05:11:05
【问题描述】:

我有一个函数可以逐行读取文件并将其插入到文本输入中:

    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?它与从文件中的工作方式相同吗?我不想在上面的函数中立即执行此操作。我想稍后在单独的函数中执行此操作。

【问题讨论】:

    标签: python list kivy textinput file-read


    【解决方案1】:

    将文件中的所有行放入列表的简单方法如下:

    with open(filename, 'r') as f:
        lines = [line for line in f]
    
    # do something with lines
    

    编辑:

    要逐行读取变量,只需将其拆分为 '\n' 并遍历结果:

    for line in self.text_from_file.text.split('\n'):
        print(line)
    

    【讨论】:

    • 但是我需要从text_from_file变量中读取,它是textinput类型。所以我已经存储了文件中的文本。
    • 哦,好吧。编辑了答案。
    猜你喜欢
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    • 2016-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-07
    相关资源
    最近更新 更多