【问题标题】:How to get a phrase from a line number in python?如何从python中的行号中获取短语?
【发布时间】:2026-01-28 00:20:03
【问题描述】:

我有一个 URL 列表,我想从特定行获取 URL。例如,从以下文件中:

urls.txt

http://www.google.com
http://www.facebook.com
http://www.*.com

我想创建一个函数,我给出第 2 行,我得到 URL:http://www.facebook.com。关于如何做到这一点的任何想法?

【问题讨论】:

    标签: python-3.x file find readlines


    【解决方案1】:

    你可以试试这样的。

    f=open('urls.txt')
    lines=f.readlines()
    print(lines[1])
    

    由于 python 中的索引从 0 开始,因此您的第一行将为 0。第 3 行的代码 lines[1] 实际上是在提取第二行的值。

    你也可以试试这样的:

    import linecache
    linecache.getline('urls.txt', 1)
    

    【讨论】:

    • 因为这将是主要功能的一部分,所以数字“1”,从这里lines[1],是一个变量。除了我使用 TRY/CATCH 之外,你有什么建议来处理一个没有索引的数字吗?在上面的例子中,如果变量等于 4,我得到了错误IndexError: list index out of range
    • 你得到了IndexError: list index out of range,因为文本文件中没有第 5 行(索引 4)。为避免此问题,您可以先计算行数,然后检查给定索引是否大于行数,然后根据您的要求处理场景。
    • 谢谢!我发布了一个与此相关的新问题,如果您能帮助我,我将不胜感激:*.com/questions/54068239/…
    【解决方案2】:

    对列表中的所有值运行 for 循环,然后与索引号进行比较。下面的代码将打印列表中的第二个值。

    for i in xrange(len(testlist)): if testlist[i] == 2: print i

    【讨论】: