2013-11-04 51 views
0

當我使用Web服務器來運行我的代碼時,出現上述錯誤,但是在本地終端中工作正常。我相信這必須與本地工作的文件路徑有關,但不能遠程執行。我已經看到了stackoverflow上的解決方案是像'/ user/xxx/library /'等添加文件路徑,但是有沒有解決方案,允許這是系統不可知的?如果我將這個目錄複製到另一個位置/服務器,它仍然可以工作?IOError:[Errno 2]沒有這樣的文件或目錄:'users.txt'

回答

1

您可以導入os,它將其構建到Python中。你可以得到.py文件考覈的絕對路徑是這樣的:

import os 
ROOT = lambda base : os.path.join(os.path.dirname(__file__), base).replace('\\','/') 

現在,你可以簡單地做到以下幾點:

ROOT('users.txt') 

它應該返回絕對路徑。

+0

如果我要將目錄複製到AWS,這仍然有效嗎? – dojogeorge

+0

是的,它應該工作,路徑沒有硬編碼,所以它會產生絕對路徑。 – moenad

+0

我建議用'relPath'替換'base'。並且反斜槓的'replace()'是否必要?即使你的操作系統使用了反斜槓,os.path.join()也應該可以正常工作。 –

相關問題