我正在使用以下代码根据用户设置的路径打开文件,但是收到错误。有什么建议吗?
f = raw_input("\n Hello, user. "
"\n \n Please type in the path to your file and press 'Enter': ")
file = open('f', 'r')
它说f未定义或没有这样的东西存在......即使我定义它?使用'r'读取文件。
答案 0 :(得分:6)
你不应该在引号中加f
:
myfile = open(f, 'r')
'f'
表示由字母f组成的字符串,因此您的代码正在查找名为f
的文件而未找到它。而是使用f
,这意味着变量f的值。
另外,请勿调用变量来存储文件file
。这很容易做到,但试着避免它。已经有一个名为file
的内置类,最好不要使用自己的名称隐藏任何内置类或函数。这是因为您看到的其他代码需要file
来表示文件类而不是您的变量。
查看某个术语是否正在使用的一种方法是使用help
函数:
>>> help(file)
Help on class file in module __builtin__:
class file(object)
| file(name[, mode[, buffering]]) -> file object
|
| Open a file. The mode can be 'r', 'w' or 'a' for reading (default),
| writing or appending. The file will be created if it doesn't exist
由于Python中的压力非常重要,我建议您在此处发布代码时完全正确缩进。
答案 1 :(得分:2)
您正在尝试打开字符串'f'。试试这个:
file = open(f, 'r')
答案 2 :(得分:1)
不要将f
放在引号中。 f
是一个包含字符串的变量,但在您打开时,您使用的是字符串值'f'。
file = open(f, 'r')
答案 3 :(得分:0)
open()返回一个文件对象,最常用的有两个参数:open(filename,mode)。
>>> f = open('/tmp/workfile', 'w')
有关文件U的更多信息,可Check out This Link