我有一个任务要求我修改一些代码。原来的功能是这样的:
def selectivelyCopy(inputFile,outputFile,predicate):
linesCopied = 0
for line in inputFile:
if predicate(line):#test the line with the predicate
outputFile.write(line)
linesCopied+=1
inputFile.close()
return linesCopied
现在我想添加参数transform,一个将字符串作为参数的函数,并根据用户指定的转换返回一个字符串。如果函数调用中省略了转换,则输入文件中的行将保持不变。
这是我到目前为止所拥有的:
def selectivelyCopy2(inputFile,outputFile,predicate, transform):
def transform(x = lambda x: x):
return(x)
linesCopied = 0
for line in inputFile:
if predicate(line): #test the line with the predicate
outputFile.write(line)
linesCopied+=1
inputFile.close()
return linesCopied
我不知道从哪里开始。我想我想读取输入文件行,但写转换后的行......还是什么?