之前每次遇到读取文件,都需要调半天代码,把路径试出来,今天在拖文件的时候突然领悟到了,希望写完这篇博客不要再被路径支配了
首先,用’/'就行了。。。
data_dir = '../StanfordDog/'
我以为路径错了,用’//'就能正确。。。
如果取上一级目录或上一级目录下的文件,需要用’…/',表示当前脚本的上一级目录
data_dir = '../CubBird'
同理上上级就再多加一个’…/’
data_dir = '../../dataset'
同级目录下直接引用或添加’./’
data_dir = 'aaa'
data_dir = './aaa'
使用如下语句可以检查读取的路径是否存在:
os.path.isdir(dir)
返回的是一个布尔值,‘True’或‘False’
我突然领悟是因为,原本我的test.py脚本是创建在根目录下的,与dataset文件夹同级
data_dir = '/FewShot/Datasets/Stanford_dogs/'
print(os.path.isdir(data_dir ))
上面的语句是一开始的写的,返回的是True,可以被读取到
然后我把test.py拖到了dataset文件夹下的子文件夹中,如上图,代码就自动变成了
data_dir = '../../FewShot/Datasets/Stanford_dogs/'
所以’…/‘的意思是返回上一级目录,现在的代码需要返回到上上级目录下,才能读取到FewShot文件夹
原来我以前都是乱用,只是凑巧能用,我还奇怪为什么一会要用’./‘,一会得用’…/’
至于’/‘与’\‘的区别,用’/‘就可以了,’\'会牵扯到转义字符