我有一个用户输入,我想将它作为打开函数的文件名参数传递。这是我曾尝试:将字符串传递给Python中的文件打开函数
filename = input("Enter the name of the file of grades: ")
file = open(filename, "r")
当用户输入是openMe.py
错误出现,
NameError: name 'openMe' is not defined
但是当用户输入"openMe.py
“它工作正常,我很困惑,这是为什么因为我认为文件名可变的情况下是一个字符串任何帮助,将不胜感激,谢谢
等等。简单。谢谢 – sbru 2013-05-02 07:54:15
为什么eval(“openMe.py”)去掉.py? – Sarien 2013-05-02 07:57:04
@Sarien因为python认为在'openMe.py'中,'openMe'是一个对象,而'py'是它的属性,所以它首先搜索'openMe',如果找不到则会引发错误。 – 2013-05-02 08:02:13