在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)