Python在文本文件中找不到第二行

时间:2019-11-29 20:23:30

标签: python list text-files

我有问题。当我搜索ID时,信息仅出现在文本文件的第一行。但是当搜索不在第一行的另一个ID时,找不到它

import random
def create_sup():
    with open("supplier.txt","a+") as file:
        sup_name = input("Enter New Supplier's Name : ")
        sup_idgen = random.randint(0,9999)
        sup_id = sup_idgen
        print("Supllier ID : ",sup_id)
        sup_city = input("Enter New Supplier's City : ")
        sup_contact = int(input("Enter New Supplier's Contact Number : "))
        sup_email = input("Enter New Supplier's Email : ")
        columnsup = [sup_name,sup_id,sup_city,sup_contact,sup_email]
        file.write(str(columnsup)+"\n")


def s_searchbyid():
    with open("supplier.txt","r") as file:
        data = file.readline().split("\n")
        id = input("Enter Supplier ID : ")
        for line in data:
            if id in line:
                print(line)

2 个答案:

答案 0 :(得分:0)

readline方法仅读取一行。在您的情况下,您读了一行并根据换行符'\ n'(没有)将其拆分,因此最终得到的是一个元素列表。

使用data = file.read().split("\n")

答案 1 :(得分:0)

我对您的程序进行了一些更改:

@skip_if_report_enhanced
def test_that_it_ran(configs):
   print("The test ran!") # shouldn't get here if the report type is set to enhanced

当然,此代码不会遇到您遇到的问题。有一些评论可以解释这些更改。

让我知道您是否有任何疑问或不清楚的地方:)