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
投稿
猜你喜欢
- 这里介绍笔者在学习wordcloud库时安装过程中所遇到的问题和解决方案1.在Pycharm中安装wordcloud出现的问题如下图所示2.
- MaxDB是MySQL AB公司通过SAP认证的数据库。MaxDB数据库服务器补充了MySQL AB产品系列。某些MaxDB特性在MySQL
- 1、吃金币源码分享:import osimport cfgimport sysimport pygameimport randomfrom
- Python中的单元测试我们先来回顾一下Python中的单元测试方法。下面是一个 Python的单元测试简单的例子:假如我们开发
- 这篇文章主要介绍了Python实现word2Vec model过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学
- 笔者在今天的工作中,遇到了一个需求,那就是如何将Python字符串生成PDF。比如,需要把Python字符串‘这是测试文件'生成为P
- python的多线程比较鸡肋,优先使用多进程1 基础知识现在的 PC 都是多核的,使用多线程能充分利用 CPU 来提供程序的执行效率。1.1
- 这篇文章主要介绍了python函数不定长参数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- 前言动态生成表格是前端开发中非常重要的内容,常常是后端返回数据(大多是json类型),我们前端通过js循环来动态添加,所以这部分内容是十分重
- 以下内容都是针对Pytorch 1.0-1.1介绍。很多文章都是从Dataset等对象自下往上进行介绍,但是对于初学者而言,其实这并不好理解
- 上节回顾主要讲了协程、进程、异步IO多路复用。 协程和IO多路复用都是单线程的。epoll 在linux下通过这个模块libev
- 前言:在Python里面,只要类型对象实现了__iter__,那么它的实例对象就被称为可迭代对象(Iterable),比如字符串、元组、列表
- 项目简介鉴于项目保密的需要,不便透露太多项目的信息,因此,简单介绍一下项目存在的难点:海量数据:项目是对CSV文件中的数据进行处理,而特点是
- 在此之前,我一直都在研究JavaScript相关的反调试技巧。但是当我在网上搜索相关资料时,我发现网上并没有多少关于这方面的文章,而且就算有
- 一、安装redis因为是在CentOS系统下安装的,并且是服务器。遇到的困难有点多不过。1.首先要下载相关依赖首先先检查是否有c语言的编译环
- 这两天在整理一些文章,但是文件夹中每个文章没有序号会看起来很乱,所以想着能不能用Python写一个小脚本。于是乎,参考了多方资料,简单写了下
- 目录1、算数运算符:2、赋值运算符:3、比较运算符4、逻辑运算符5、 成员运算符总结大至分为以下5类运算符号算数运算符赋值运算符比
- 大家好,欢迎大家来到算法数据结构专题,今天我们和大家聊一个非常常用的算法,叫做LRU。LRU的英文全称是Least Recently Use
- python脚本实现xlsx文件解析,供大家参考,具体内容如下环境配置:1.系统环境:Windows 7 64bit 2.编译环境:Pyth
- 我查了资料:setRequestHeader,单独指定请求的某个http头语法oXMLHttpRequest.setRequestHeade