微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在每一行中读取到python中的特定点

如何解决如何在每一行中读取到python中的特定点

我试图从每一行开始读取,直到,为止,以便我可以使用格式对其进行编辑以添加文本,但是直到每一行的某个点之前,我都不知道要使用哪个代码读取。我尝试在网上搜索,但找不到任何内容

def pretty_print():
    file = open('kaartnummers','r')
    # print(file.read())
    print(file.read())

pretty_print()

kaartnummer文本文件内容

325255,Jan Jansen
334343,Erik Materus
235434,Ali Ahson
645345,Eva Versteeg
534545,Jan de Wilde
345355,Henk de Vries

所需的输出

Jan Jansen heeft kaartnummer: 325255
Erik Materus heeft kaartnummer: 334343
Ali Ahson heeft kaartnummer: 235434
Eva Versteeg heeft kaartnummer: 645345
Jan de Wilde heeft kaartnummer: 534545
Henk de Vrie heeft kaartnummer: 345355

解决方法

with open("sample.txt","r") as f:
    for line in content_list:
        if "," in line:
            line_sepperated = line.split(",")
            name = line_sepperated[1]
            num = line_sepperated[0]
            print(f'{name} heeft kaartnummer: {num}')
        else:
            print(line)

简短说明:

  • 打开并读取文件,并将其拆分为行列表
  • 对各行进行迭代:如果存在,-按行拆分行,并通过格式化所需的格式进行打印,如果不行,则-打印整行
,

我又尝试了一次,但是现在我正在为最后一件事而苦苦挣扎,如果fprint使用str(num)+''和甚至是fprint,我会在很多方面进行尝试。格式,但我的结果仍然不是我想要的。

def pretty_print():
    line = open('kaartnummers','r')
    with open("kaartnummers","r") as f:
        for line in line:
            if "," in line:
                line_sepperated = line.split(",")
                name = line_sepperated[1]
                num = line_sepperated[0]
                # print(f'{name} heeft kaartnummer: {num}')
                # print('{} heeft kaartnummer: {}' .format(*[name],*[num]))
                print(str(name)+' heeft kaartnummer: '+str(num))
            else:
                print(line)

pretty_print()

因为如果我打印该代码,它将给出结果

https://i.stack.imgur.com/7d7fy.png

 Jan Jansen
 heeft kaartnummer: 325255
 Erik Materus
 heeft kaartnummer: 334343
 Ali Ahson
 heeft kaartnummer: 235434
 Eva Versteeg
 heeft kaartnummer: 645345
 Jan de Wilde
 heeft kaartnummer: 534545
 Henk de Vries heeft kaartnummer: 345355
,

我修复了它。

修复它的命令是

.replace("\n","")

现在我有

print(f'{num} heeft kaartnummer: {name}'.replace("\n",""))
print('{} heeft kaarnummer: {}'.format(*[num],*[name]).replace("\n",""))
print(str(num).replace("\n","")+' heeft kaartnummer: '+str(name).replace("\n",""))

它可以在所有3条打印线上使用

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。