我试图让一个函数写入一个文件,其中有 4 个不同的字符串变量传递到写入的内容中,但是无论出于何种原因,当尝试这样做时,我得到了这个:
Traceback (most recent call last):
File "C:\Python Files\writePy\writePy.py", line 34, in <module>
indent = writeIf(mFile, genCond(), lFile, indent)
File "C:\Python Files\writePy\writePy.py", line 23, in writeIf
file.write('%sif (%s %s %s):' (indentation, cond[0], cond[1], cond[2]))
TypeError: 'str' object is not callable
这是我的主要代码:
# Main code
lFile = open('OperationLog.txt', mode='w') # Log file for changes
mFile = open('Evolve.txt', mode='w+') # File to be edited
indent = 0 # Indentation for written code
# Write two IF statements with a randomized condition to file, update indentation
indent = writeIf(mFile, genCond(), lFile, indent)
indent = writeIf(mFile, genCond(), lFile, indent)
# Close files
lFile.close()
mFile.close()
这是错误所在的函数:
def writeIf(file, cond, log, indent):
indentation = ' ' * (4 * indent) # Number of spaces to add is 4 * indent
file.write('%sif (%s %s %s):' (indentation, cond[0], cond[1], cond[2]))
indent = indent + 1
log.write('Added: IF statement to %s.' % file.name)
return indent