网络编程
位置:首页>> 网络编程>> Python编程>> python打印当前文件的绝对路径并解决打印为空的问题

python打印当前文件的绝对路径并解决打印为空的问题

作者:呆萌的代Ma  发布时间:2023-10-26 16:24:00 

标签:python,打印当前文件,绝对路径,文件路径获取

python打印当前文件的绝对路径并解决打印为空

获取当前文件所在路径主要使用os.path.dirname(os.path.abspath(__file__))

import os

file_path = os.path.dirname(os.path.abspath(__file__))
print(file_path)

不能使用下面代码,在有些情况下路径会是空

os.path.dirname(__file__)

示例:得到相对位置的文件路径

上级文件夹下的文件,比如config.yaml文件的路径可以表示为:os.path.dirname(os.path.abspath(__file__)) + "/../conf/config.yaml"

|_ conf
|_ config.yaml
|_src
|_代码  # 当前位置

补充:python中对文件路径的获取

1、获取当前文件的绝对路径

import os
cur_path = os.path.abspath(__file__)
print(cur_path)

输出:E:\python\project\test\path_test.py

2、获取当前文件的所在目录

import os
cur_dir = os.path.dirname(os.path.abspath(__file__))  # 上级目录
print(cur_dir)

输出:E:\python\project\test

3、获取当前文件所在目录的上一级目录

import os
cur_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))   # 上级目录
print(cur_dir)

输出:E:\python\project

4、获取指定文件的路径(例如想获得project文件夹下的test.txt文件路径)

import os
# 法一
cur_dir1 = os.path.dirname(os.path.abspath(__file__))
path1 = os.path.join(os.path.abspath(cur_dir + os.path.sep + ".."), "test.txt")
# 法二
cur_dir2 = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
path2 = os.path.join(os.path.dirname(cur_dir), "test.txt")
print(path1)
print(path2)

输出:

E:\python\project\test.txt
E:\python\project\test.txt

注意:
只有当在脚本中执行的时候,os.path.abspath(file)才会起作用,因为该命令是获取的当前执行脚本的完整路径,如果在交互模式或者terminate 终端中运行会报没有__file__这个错误。

来源:https://blog.csdn.net/weixin_35757704/article/details/123268431

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com