2016-08-18 72 views
0

我在我的代码中有最简单的文件打开行。在使用open时,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

如果你传递一个相对路径,如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

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

import os 
print os.getcwd() 

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