VSCODE python路径问题

通常情况下vscode编辑python时,默认如果是打开文件夹方式操作py(及所有py文件都在一层文件夹下,然后我们使用vs的打开文件夹方式来操作py编程)这时似乎看不是有什么问题出现。

但是一旦处理多级目录下的py文件时,(及vs打开的文件夹里面还有一层文件夹才是py文件时)在编译解释时vs就会报错了,说找不到指定文件或是配置文件,或是你要打开的xls文件等,解决方法是:

 

有效的解决思路是找到你文件的绝对路径,在代码中用全局变量记录下来,其他部分在此基础上进行本机或者上下级目录等操作。具体实现是:

BASE_DIR = os.path.dirname(os.path.abspath(__file__))
注:
__file__是当前执行的文件
os.path.dirname() 是 获取路径中的目录名

这样可以使用 BASE_DIR 进行相关操作,而不用担心路径问题。
举例1对ini文件的操作:

BASE_DIR=os.path.dirname(os.path.abspath(__file__))
conf = configparser.ConfigParser()
conf.read(os.path.join(BASE_DIR,"name.ini"),encoding="utf-8")
items = conf.items("name")
print(items[0][1]") #就可以正常操作ini内容了。

举例2对excel操作:

'''打开excel文件'''
data = xlrd.open_workbook(os.path.join(BASE_DIR,'ok.xls'),encoding_override="gb18030")

 注意使用os.path.join 以适应linux和windows不同目录分隔符的写法。
 如果是多层级的话,可以使用os.path.dirname(os.path.dirname(os.path.abspath(file)))

posted @ 2022-01-28 10:57  緣來如此  阅读(3)  评论(0)    收藏  举报
留言板