2013-12-15 68 views
4

我嘗試使用www.pythonanywhere.com來構建Web應用程序,現在我創建了一個目錄"/ > home > myid_xxx > mysite > FM",並在'FM'目錄下有兩個文件:demo1.pydemo_pickle_file.pkl如何在pythonanywhere中訪問文件?

我嘗試 'demo1.py' cPickle.load(open('demo_pickle_file.pkl','rb')),但pythonanywhere控制檯顯示:

IOError: [Errno 2] No such file or directory: 'demo_pickle_file.pkl' 

那麼,如何正確地訪問鹹菜文件?

+0

確保你的運行路徑是內部目錄與'demo_pickle_file.pkl',否則你需要整個或相對路徑。 –

+0

由於我是pythonanywhere的新手,我沒有明白你的意思。 「確保你的運行路徑在demo_pickle_file.pkl目錄內」意思是把「demo1.py」和「demo_pickle_file.pkl」放在同一個文件夾中?如果是這樣,我已經做到了。如果不是,「否則你需要整個或相對路徑」,如何做到這一點?謝謝.. – bigbug

+1

考慮打印出'os.getcwd()'來確定python可能在哪裏尋找。 – MxyL

回答

6

由於泡菜文件在同一目錄中demo1.py你可以使用類似下面從腳本路徑,找到它的路徑:

import os 
import cPickle as pickle 

my_dir = os.path.dirname(__file__) 
pickle_file_path = os.path.join(my_dir, 'demo_pickle_file.pkl') 

with open(pickle_file_path, 'rb') as pickle_file: 
    demo = pickle.load(pickle_file) 
+0

感謝您的提示。 – bigbug

+0

您當然可以'打印pickle_file_path'來了解文件的實際路徑。 – martineau

+0

我終於硬編碼了pickle文件的絕對路徑來解決問題。我只是想了解更多關於在pythonanywhere中查找文件的機械化。 – bigbug