Python 输入功能不起作用&;返回FileInput对象

Python 输入功能不起作用&;返回FileInput对象,python,python-3.x,input,Python,Python 3.x,Input,我试图在一个小型python程序中以函数调用的形式获取用户输入,但是,当我使用input()方法时,python shell不允许我输入任何内容并自行退出 from fileinput import input def funcinput(): comm = input("-->") print('your input is %s' %comm) if __name__ == "__main__": print("try to get input") fu

我试图在一个小型python程序中以函数调用的形式获取用户输入,但是,当我使用
input()
方法时,python shell不允许我输入任何内容并自行退出

from fileinput import input
def funcinput():
    comm = input("-->")
    print('your input is %s' %comm)

if __name__ == "__main__":
    print("try to get input")
    funcinput()
代码如下所示,每次我运行它时,python launcher都会告诉我:

try to get input
your input is <fileinput.FileInput object at 0x10464c208>
>>> 
尝试获取输入
你的意见是
>>> 
不让我输入任何东西


我应该怎么做才能让它工作呢?

这里的原因是对内置功能的掩盖。在某些情况下,会出现一个来自fileinput的
导入
,它屏蔽了
内置的.input
,并将其替换为。该函数不返回
str
,而是返回以下项的实例:

现在使用
input
拾取
fileinput.input

>>> print(input("--> "))
<fileinput.FileInput at 0x7f16bd465160
如果此选项失败(或者由于某种原因您无法控制导入),您可以尝试删除导入的引用,以获得使用内置版本的查询:

>>> from fileinput import input
>>> print(input("--> "))
<fileinput.FileInput at 0x7f16bd465f60>

input
一如既往地工作。

您的实际代码中没有显示其他内容。它似乎在你真正的代码
comm
中的某个地方变成了
FileInput
对象。是的,你们都对了,非常感谢!我被困在这里一天了
>>> import fileinput
>>> print(fileinput.input("--> ")) # fileinput input, returns FileInput instance.
>>> print(input("--> "))           # original input, returns str
>>> from fileinput import input
>>> print(input("--> "))
<fileinput.FileInput at 0x7f16bd465f60>
>>> del input
>>> input("--> ")
-->