Python len()混淆

2024-10-02 00:41:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我不知道我在这里做错了什么,花了一整天的时间搜索和阅读python的书。。在

我有以下功能:

def extract(inNo, inputFile2, outputFile):
    ifile = open(inputFile2, 'r')
    ofile = open(outputFile, 'w')
    lines = ifile.readlines()
    for line in lines:
        print(str(len(line)))
        if str(len(line)) == str(inNo):
            ofile.write(line)

我试图理解len(),我似乎在使用它时得到了奇怪的结果。 我的输入文件如下:

^{pr2}$

现在如果我使用'7'作为inNo变量,我得到的输出(即print)是:

^{3}$

输出文件变成:

666666

我肯定会去登记的python.exe长度计数从1开始,即:

len('123') 

会产生

3

我对len()的理解是错误的,还是我编码错误的?在

本质上,这个函数的作用是:它接受输入、输出和字符长度作为参数。它们来自不同的函数,第二个函数用参数调用这个函数。在

此函数用于从输入文件中读取行。 对于每一行,它获取字符长度并将其与输入编号进行比较。 如果它们相等,则应将该行写入输出文件。我假设我没有“else:”应该进行迭代。 print()函数允许我精确地看到它计算的长度。在

当我试图将'-1'或'+1'添加到len()即(len(line)+1)时,会导致更多奇怪的事情开始发生。在


Tags: 文件函数len错误lineopen字符lines

热门问题