如何提示用户在Python中打开文件

时间:2011-10-21 07:15:57

标签: python file

我正在使用以下代码根据用户设置的路径打开文件,但是收到错误。有什么建议吗?

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'读取文件。

4 个答案:

答案 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