在python中,如何获取脚本文件所在路径

在python中,如何获取脚本文件所在路径,第1张

用内置函数: __file__

给一个Django的示例唯雹,这是获取当前文件上一级目录的实例。

import os

# Build 指和帆paths inside the project like this: os.path.join(BASE_DIR, ...)

BASE_DIR 棚清= os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

使用os.path.abspath()函数来获取文件绝对路径

文件目录结构如下:

解析

假设app.py中想读取config.ini文件的内容,首先app.py需要知道config.ini的文件路径,从目录结构上可以看出,config.ini与app.py的父目录同级,也就是获取搭裤枣到app.py父目录(bin文件夹的路径)的父目录(config文件夹路径)的绝对路径再拼上config.ini文件名就能获取到config.ini文件:

首先,在app.py中测试一下:

import os

def load_file():

# 获取当前文件路径

current_path = os.path.abspath(__file__)

# 获取当前文件的父目录

father_path = os.path.abspath(os.path.dirname(current_path) + os.path.sep + ".")

# config.ini文件路径,获取当前目录的父目录的父目录与congig.ini拼接

config_file_path=os.path.join(os.path.abspath(os.path.dirname(current_path) + os.path.sep + ".."),'config.ini')

print('当前目录:' + current_path)

print('当前父目录:' + father_path)

print('config.ini路径:' + config_file_path)

load_file()

从结果中可以看到一切都正常,没有什么问题,假如现在需要纯带从main.py中执行app.py的load_file()方法呢?

来测试一下:

main.py(处于同级目录):

from bin.app import load_file

if __name__=='__main__':

load_file()

可以看到知拆,获取的路径是完全没有问题的

拓展内容

python os.path 常用模块介绍


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8240675.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存