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__这个错误。
关于python打印当前文件的绝对路径,并解决打印为空的文章就介绍至此,更多相关python打印当前文件的绝对路径内容请搜索编程宝库以前的文章,希望以后支持编程宝库!
前言python学习之路任重而道远,要想学完说容易也容易,说难也难。很多人说python最好学了,但扪心自问,你会用python做什么了?刚开始在大学学习c语言,写一个飞行棋的小游戏, ...