在有人告诉我再搜索网络之前,我已经搜索了一个多小时。
所以我的任务要求我使用一个导入的模块,该模块包含一个 safeOpen 函数,该函数为主模块selectiveFileCopy 打开一个文件。但是当我调用 safeOpen 函数时,它说我要打开的文件是 None 类型,因此不可迭代。我不确定为什么会这样。
这是一些代码:
def safeOpen(prompt, openMode, errorMessage ):
while True:
try:
open(input(prompt),openMode)
return
except IOError:
return(errorMessage)
def selectivelyCopy(inputFile,outputFile,predicate):
linesCopied = 0
for line in inputFile:
outputFile.write(inputFile.predicate)
if predicate == True:
linesCopied+=1
return linesCopied
inputFile = fileutility.safeOpen("Input file name: ", "r", " Can't find that file")
outputFile = fileutility.safeOpen("Output file name: ", "w", " Can't create that file")
predicate = eval(input("Function to use as a predicate: "))
print(type(inputFile))
print("Lines copied =",selectivelyCopy(inputFile,outputFile,predicate))