如何在python中读取每一行的某一点

2024-09-28 22:30:22 发布

您现在位置: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

Tags: readprettydealijanfileprinterik
3条回答

我修好了

修复它的命令是

.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条打印线上工作

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)+'',甚至是。但我的结果仍然不是我想要的

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

相关问题 更多 >