2016-08-18 54 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() 

要避免這種情況,請指定絕對路徑。