Python在使用open时搜索文件在哪里?

时间:2016-08-18 09:41:31

标签: python

我的代码中有最简单的文件开头行。

file = open("file.txt", "r+")

python在哪里搜索文件?唯一适合我的地方是

  

C:/用户/ useraccount

file = open("file.txt", "w")

这也会在该特定位置创建文件。

如果文件与python脚本本身位于完全相同的文件夹中,则不会打开该文件。

另外,如果我做到了

file = open("folder/file.txt", "r+")
如果文件位于C:/Users/*useraccount*/文件夹中,

将无法打开文件。

是否可以打开不在该特定位置的文件?

2 个答案:

答案 0 :(得分:2)

如果传递相对路径,例如file.txt,Python将搜索相对于运行命令的同一目录的文件。

如果您在 - C:/Users/useraccount/并且您尝试打开file.txt,那么Python会尝试打开C:/Users/useraccount/file.txt

同样,如果它是folder/file.txt,那么Python会尝试打开C:/Users/useraccount/folder/file.txt

您应该始终尝试使用os.path模块中的不同函数来获取文件的绝对路径。

答案 1 :(得分:1)

如果使用相对路径,它们将相对于当前工作目录。要查找当前工作目录,请从Python运行以下代码段。

import os
print os.getcwd()

要避免这种情况,请指定绝对路径。