Python 如何在txt文件上使用枚举函数?

Python 如何在txt文件上使用枚举函数?,python,Python,我正在尝试读取我以前在控制台上创建的Hi.txt文件,但不是从中获取值,而是尝试使用枚举函数在其旁边添加索引值。让我们假设文本文件中有3个元素 with open('Hi.txt','r') as hello: x = hello.read() print(x) 据我所知,此代码将遍历该txt文件中的元素,如下所示: Dave Jack Mary 但是,当我尝试这样做时: with open('Hi.txt','r') as hello: x = hello.read

我正在尝试读取我以前在控制台上创建的Hi.txt文件,但不是从中获取值,而是尝试使用枚举函数在其旁边添加索引值。让我们假设文本文件中有3个元素

with open('Hi.txt','r') as hello:
    x = hello.read()
    print(x)
据我所知,此代码将遍历该txt文件中的元素,如下所示:

Dave
Jack
Mary
但是,当我尝试这样做时:

with open('Hi.txt','r') as hello:
    x = hello.read()
    for i,v in enumerate(x,1):
        print(i,v)
with open('Hi.txt','r') as hello:
    for i,v in enumerate(hello.readlines(), 1):
        print(i,v, end="")
它一个接一个地打印出每个字符

期望输出:

1 Dave
2 Jack
3 Mary

您可以这样做:

with open('Hi.txt','r') as hello:
    x = hello.read()
    for i,v in enumerate(x,1):
        print(i,v)
with open('Hi.txt','r') as hello:
    for i,v in enumerate(hello.readlines(), 1):
        print(i,v, end="")

这将对文件中的所有行进行迭代,假设所有文件项都在单独的行中。

您可以执行以下操作:

with open('Hi.txt','r') as hello:
    x = hello.read()
    for i,v in enumerate(x,1):
        print(i,v)
with open('Hi.txt','r') as hello:
    for i,v in enumerate(hello.readlines(), 1):
        print(i,v, end="")

这将对文件中的所有行进行迭代,假设所有文件项都在单独的行中。

枚举文件句柄本身:

with open('/Hi.txt','r') as hello:
    for i,v in enumerate(hello,1):
        print(i,v, end="")

枚举文件句柄本身:

with open('/Hi.txt','r') as hello:
    for i,v in enumerate(hello,1):
        print(i,v, end="")

我认为应该是i,v,in,hello,而不是hello.Readlines这有两种方式不能满足OP的需求这基本上是可行的,但您遗漏了两个细节,这意味着它不太正确。@JoeFerndz我刚刚测试过,使用enumeratehello和enumeratehello.readlinesyeah…完全相同,您的索引值从0开始,而不是从0开始1@JorgeMorgado,我看到您正在执行readlines,因此它将所有内容都纳入范围。您正在使用v执行默认的\n强制结束=。美好的向上投票给Ingenuit我认为应该是i,v在Enumerative hello而不是hello.Readlines这有两种方式不能让OP得到他/她想要的东西这基本上是可行的,但您遗漏了两个细节,这意味着它不太正确。@JoeFerndz我刚刚测试过,使用enumeratehello和enumeratehello.readlinesyeah…完全相同,您的索引值从0开始,而不是从0开始1@JorgeMorgado,我看到您正在执行readlines,因此它将所有内容都纳入范围。您正在使用v执行默认的\n强制结束=。美好的投票支持独创性