我不知道我在这里做错了什么,花了一整天的时间搜索和阅读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()
,我似乎在使用它时得到了奇怪的结果。
我的输入文件如下:
现在如果我使用'7'作为inNo
变量,我得到的输出(即print
)是:
输出文件变成:
666666
我肯定会去登记的python.exe长度计数从1开始,即:
len('123')
会产生
3
我对len()
的理解是错误的,还是我编码错误的?在
本质上,这个函数的作用是:它接受输入、输出和字符长度作为参数。它们来自不同的函数,第二个函数用参数调用这个函数。在
此函数用于从输入文件中读取行。 对于每一行,它获取字符长度并将其与输入编号进行比较。 如果它们相等,则应将该行写入输出文件。我假设我没有“else:”应该进行迭代。 print()函数允许我精确地看到它计算的长度。在
当我试图将'-1'或'+1'添加到len()即(len(line)+1)时,会导致更多奇怪的事情开始发生。在
len()
还考虑了新行字符\n
,这就是为什么除了最后一行之外,每一行都多了一个。在相关问题 更多 >
编程相关推荐