我有以下代码,它应该询问用户 2 文件名。我在第二个函数中的 input() 中遇到错误,但在第一个函数中没有,我不明白......
这是错误:
输出 = getOutputFile()
文件“splitRAW.py”,第 22 行,位于 getOutputFile 中
文件名 = 输入("\t=> ")
类型错误:“str”对象不可调用
# Loops until an existing file has been found
def getInputFile():
print("Which file do you want to split ?")
fileName = input("\t=> ")
while 1:
try:
file = open(fileName, "r")
print("Existing file, let's continue !")
return(fileName)
except IOError:
print("No such existing file...")
print("Which file do you want to split ?")
fileName = input("\t=> ")
# Gets an output file from user
def getOutputFile():
print("What name for the output file ?")
fileName = input("\t=> ")
这是我的 main() :
if __name__ == "__main__":
input = getInputFile()
output = getOutputFile()
问题是当你说input = getInputFile()
.
进一步来说:
- 程序进入
getInputFile()
函数,以及input
尚未分配。这意味着Python解释器将使用内置的input
,如您所愿。
- 你归来
filename
并离开getInputFile()
。解释器现在覆盖名称input
成为那根弦。
-
getOutputFile()
现在尝试使用input
,但它已被替换为您的文件名字符串。您无法调用字符串,因此解释器会告诉您这一点并抛出错误。
尝试更换input = getInputFile()
与其他一些变量,比如fileIn = getInputFile()
.
另外,你的getOutputFile()
没有返回任何东西,所以你的output
变量只会有None
in it.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)