在Linux或者OS X中,使用絕對路徑打開文件的時候應該使用單斜槓/,(如 C:/test.txt)。
在Windows中,建議使用雙反斜槓(如C:\\test.txt)。
建議使用絕對路徑;路徑過長:可以 先查看當前工作路徑;
print('當前工作路徑', os.getcwd()) # main.py路徑: # D:\ProgramFiles\Projects\PyCharm_Projects\514-517\BiLSTM-Classifier\bin>
再用os.path.dirname 和 os.path.join來拼接路徑;
project_base = os.path.dirname(os.getcwd()) # 回退到上級目錄,相當於cd.. data_path = os.path.join(project_base, r'data_path') # bin和data_path是同級目錄 filename= os.path.join(data_path, 'Ch_train_data.csv') # 要open的文件名;分詞後的訓練樣本 .csv
1. 打開windows系統的文件時, 在開頭的引號前面, 加 r了嗎?
open(r'data/test.txt','r', encoding='utf-8-sig', errors='ignore')
2. windows系統是否 隱藏了文件的後綴名?
選中要打開的文件,鼠標右鍵,查看其詳細信息裏的文件名:是test.txt 還是test.txt.txt ??
如果隱藏了,open時把對應的文件的後綴名去掉; eg, setup後綴是*.log 則 filename = 'c:\\setup.log'
3. .py腳本是否被移動過?(沒試過)
Pycharm會記錄腳本的工作目錄。
Pycharm ——> Run ——> "Edit configurations..."——>python; 刪除報錯的腳本
4. 讀取的文件在c盤下:使用管理員運行此文件(沒試過!)
5. 文件的絕對路徑 :
注意細節:比如是否把data-path 寫成了data_path;(浪費兩小時找的坑!!)
6. 文件的相對路徑:
比如main.py 在 cnn/bin目錄下,test.txt cnn/data 目錄下;當前工作目錄爲bin;
在open文件時,是否回退.., open(r'../data/test.txt',r)