打开文件的代码有什么问题?

4 投票
8 回答
21522 浏览
提问于 2025-04-15 15:38

我试着用这段代码在Python中打开一个文件:

f = open("/Desktop/temp/myfile.txt","file1")

但是没成功。我觉得这是因为我没有指定正确的路径。那我该怎么解决这个问题呢?

相关问题:

8 个回答

4

首先,第二个参数是权限设置:用“r”表示可以读取,用“w”表示可以写入,用“a”表示可以追加内容。“file1”这个东西不应该出现在这里。

11

这个写法不对,因为你用错了open的语法。

在解释器的提示符下试试这个:

>>> help(open)
Help on built-in function open in module __builtin__:

open(...)
    open(name[, mode[, buffering]]) -> file object

    Open a file using the file() type, returns a file object.

这里的第二个参数是打开文件的模式。你可以快速查看一下文档,然后我们可以试试这个:

f = open("/Desktop/temp/myfile.txt","r")
10

编辑:哦,对了,你的第二个参数是错的。我都没注意到这一点 :)

在Python中,它会根据你告诉它的地方去找文件。如果你在 /home/malcmcmul 这个文件夹里打开解释器,那么这个文件夹就是当前活动的目录。

如果你指定了一个路径,Python就会去那个地方找文件。你确定 /Desktop/temp 是一个有效的路径吗?我不知道有多少系统会把 /Desktop 当成根文件夹。

这里有一些例子:

  • 如果我有一个文件: /home/bartek/file1.txt

  • 然后我在目录 /home/bartek/ 里输入 python 来打开解释器

  • 这样可以正常找到文件: f = open("file1.txt", "r")

  • 但这样就不行了: f = open("some_other_file.txt", "r"),因为那个文件在其他目录里。

  • 只要我指定正确的路径,这样就可以了: f = open("/home/media/a_real_file.txt", "r")

撰写回答