python 中搞错工作路径的意思导致的相对路径产生bug:[Errno 2] No such file or directory:
#mac用vc在打开同一个目录下的文件时,出现了这个bug,网上找了半天都没有解决,知道是相对路径出了问题,但不知道问题到底出在哪里。
最后恍然大悟,相对路径是相对工作路径的路径,工作路径并不一定是文件直接所在的文件夹路径,而有可能是整个呆在工作区的文件夹。
用
import os
print(os.getcwd())
一查才知道,在这个地方,工作路径跟直接所在文件夹路径不一样。
所以如果想使用相对路径,但工作路径与直接所在文件路径不同的话,应当用 ". "来代替表示工作路径,然后后面再跟之后的路径。
比如如果工作文件夹名字是“Tcode”,文件直接所在文件夹是“E2”,“E2”在“Tcode”的下一级,下面这段代码尝试直接打开就会失败:
with open("log.txt","r") as fn:
而用这一段代码你就成功了:
with open("./E2/log.txt","r") as fn: