python获取某文件路径_Python获取当前文件路径

一. Python 获取当前文件路径方法

2. sys.path[0]

获取文件当前工作目录路径(绝对路径)

sys.argv[0]|获得模块所在的路径(由系统决定是否是全名)

若显示调用python指令,如python demo.py,会得到绝对路径;

若直接执行脚本,如./demo.py,会得到相对路径。

3. __ file __

获得文件所在的路径(由系统决定是否是全名)

若显示执行Python,会得到绝对路径;

若按相对路径来直接执行脚本./pyws/path_demo.py,会得到相对路径。

4. os.path.abspath(__ file __)

获得文件所在的路径(绝对路径)

6. os.path.split(os.path.realpath(__ file __))

将文件路径名称分成头和尾一对,生成二元元组。(文件目录,文件名)

https://docs.python.org/2/library/os.path.html#os.path.split

二. 举个栗子

1. Source code

import os

import sys

print("sys.path[0] = ", sys.path[0])

print("sys.argv[0] = ", sys.argv[0])

print("__file__ = ", __file__)

print("os.path.abspath(__file__) = ", os.path.abspath(__file__))

print("os.path.realpath(__file__) = ", os.path.realpath(__file__))

print("os.path.dirname(os.path.realpath(__file__)) = ",

os.path.dirname(os.path.realpath(__file__)))

print("os.path.split(os.path.realpath(__file__)) = ",

os.path.split(os.path.realpath(__file__)))

print("os.path.split(os.path.realpath(__file__))[0] = ",

os.path.split(os.path.realpath(__file__))[0])

print("os.getcwd() = ", os.getcwd())

2. Result

(1) Pycharm project中显示调用python指令,获取文件绝对路径

C:\Python364\python.exe C:/PyCharm/PycharmProject/get_path/path_demo.py

sys.path[0] = C:\PyCharm\PycharmProject\get_path

sys.argv[0] = C:/PyCharm/PycharmProject/get_path/path_demo.py

__file__ = C:/PyCharm/PycharmProject/get_path/path_demo.py

os.path.abspath(__file__) = C:\PyCharm\PycharmProject\get_path\path_demo.py

os.path.realpath(__file__) = C:\PyCharm\PycharmProject\get_path\path_demo.py

os.path.dirname(os.path.realpath(__file__)) = C:\PyCharm\PycharmProject\get_path

os.path.split(os.path.realpath(__file__)) = ('C:\\PyCharm\\PycharmProject\\get_path', 'path_demo.py')

os.path.split(os.path.realpath(__file__))[0] = C:\PyCharm\PycharmProject\get_path

os.getcwd() = C:\PyCharm\PycharmProject\get_path

Process finished with exit code 0

(2)Terminal中直接执行Python脚本,获取文件相对路径

C:\PyCharm\PycharmProject\get_path>python path_demo.py

('sys.path[0] = ', 'C:\\PyCharm\\PycharmProject\\get_path')

('sys.argv[0] = ', 'path_demo.py')

('__file__ = ', 'path_demo.py')

('os.path.abspath(__file__) = ', 'C:\\PyCharm\\PycharmProject\\get_path\\path_demo.py')

('os.path.realpath(__file__) = ', 'C:\\PyCharm\\PycharmProject\\get_path\\path_demo.py')

('os.path.dirname(os.path.realpath(__file__)) = ', 'C:\\PyCharm\\PycharmProject\\get_path')

('os.path.split(os.path.realpath(__file__)) = ', ('C:\\PyCharm\\PycharmProject\\get_path', 'path_demo.py'))

('os.path.split(os.path.realpath(__file__))[0] = ', 'C:\\PyCharm\\PycharmProject\\get_path')

('os.getcwd() = ', 'C:\\PyCharm\\PycharmProject\\get_path')

三. 参考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/349498.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java认证值得吗?

在任何行业中获得证书总是有其利弊,但似乎在技术世界中,情况更加动荡。 对熟练的技术人员的需求如此,进入该行业的途径很多,包括学术认证方法和更自学的基于投资组合的方法。 但是Java认证是否值得追求以促进您的职业发展&#xf…

管理任务执行-有效执行

背景 给任务排优先级是解决做什么的问题。有效执行解决的是怎么做的问题。 项目执行的要点。 清晰的目标 现象 1.明确项目的初衷,但是没有设定可以衡量的目标。 2.在你的眼中目标很清晰,但是负责项目实施的员工并不知道从哪下手去执行; 3.两周…

什么是实验室人员比对人员_CNAS实验室认可对人员、设备的要求

一、人员要求1、从事实验室活动的人员不得在其他同类型实验室从事同类的实验室活动。 2、从事检测或校准活动的人员应具备相关专业大专以上学历。如果学历或专业不满足要求,应有 10 年以上相关检测或校准经历。关键技术人员,如进行检测或校准结果复核、检…

anaconda base环境_如何在最新版的Anaconda下安装Tensorflow 1.9

去年10月Tensorflow刚刚开放了2.0,当然用2.0慢慢地会变成未来使用Tensorflow的趋势。但是,关于如何用2.0进行机器学习和深度学习研究的书籍市面上能买到的大多都还是英文原版,且很少,因为太新中文的参考书更是少的可怜。因此&…

降级安装_如何升级iOS13测试版,还有降级

我是果子,前几天苹果发布了iOS13第二个开发者预览版,并且放出了描述文件,可以直接在手机上通过安装描述文件OTA升级。升级iOS13预览版不过我发现还有很多小伙伴不会通过安装描述文件进行升级,所以今天我们再写个教程给还不知道的小…

贪心只能过样例 loj515

范围$100$ 题解 比较裸的式子 $f[i][j]$表示枚举到第$i$位有没有和为$j$方案 只有$0$或$1$ $f[i][j]f[i-1][j-val*val]$ 答案$\sum\limits f[n][i]$ 范围$1000000$$((1-100)^2 *100)$ 复杂度爆炸,可以滚动数组,得17分 考虑优化,$bitset$, $bitset$表示实际值是否可以凑出 $f[i]…

接口中定义的成员变量是( )。_抽象与接口

原文链接:抽象与接口抽象类抽象类的定义Java可以创建一种类专门用来当作父类,这种类称为“抽象类”。抽象类的作用有点类似“模板”,其目的是要设计者依据它的格式来修改并创建新的类。在Java中可以创建一种类专门用来当做父类,这…

配置phoenix连接hbase_Phoenix视图映射

点击关注上方“知了小巷”,设为“置顶或星标”,第一时间送达干货。Phoenix定位为OLTP和操作型分析(operational analytics),大多用于在线业务,稳定性要求第一位。Phoenix的功能很强大,也很灵活,Phoenix SQL…

消防 直径性质

题目大意 先放直径性质(转自刀与玫瑰) 1.直径两端点一定是叶子节点。 2.距任意点最远点一定是直径的端点,据所有点最大值最小的点一定是直径的中点。 3.两棵树相连,新直径的两端点一定是原四个端点中的两个 4.两棵树相连,新直径长度最小为max…

java安全级别过高_Java应该是更高级别还是更低级别?

java安全级别过高总览 Java 8带来了许多简化的功能,例如Lambda表达式, 类型注释和虚拟扩展 。 尽管此功能很重要:a)有价值,b)赶上较凉的语言,但是这些更丰富,更高级的功能是Java应当…

python分析数据差异的方法_用Python的两种方法进行方差分析

在进行数据分析时,我们往往会遇到要对某个变量的影响因素进行分析的情况,而影响一事物的因素往往是很多的。比如在化工生产中,有温度、压力、剂量、反应时间等因素。每一因素的改变都有可能影响产品的数量和质量。我们往往要找出对产品质量有…

澄清字符串的格式!

用户友好的介绍 如果您不熟悉String格式或只想快速解决问题,那么String格式的Java文档不是最容易阅读和理解的。 尽管它很完整,但它不是非常用户友好的,所以我想我会尝试编写一个更清晰的版本。 这篇文章不仅对您有帮助,而且对我本…

5 图片 渐变_AI教程!5分钟教你绘制超酷炫的字体效果

图一所示的图片就是我们今天要学的AI教程啦。为什么想起来要做这个呢?因为前两天有两个粉丝私信我问这种效果的字体怎么做。觉得大家应该对这类字体比较感兴趣的,所以今天就给大家出个教程啦。第一眼看上去是不是感觉很酷炫?其实步骤也不多&a…

管理任务执行-如何制定有效的机制

背景 之前做工程师的时候,自己负责数据开发,现在做管理了,数据开发这一块工作分给了团队成员,管理沟通占据了大量的时间,项目的质量没有很好的把控。问题出在哪? 想让团队成员分担我们手头的工作&#xff0…

python和sql_Python和SQL 2017的强大功能

Python和SQL Server 2017的强大功能 原文来自:https://www.red-gate.com/simple-talk/sql/sql-development/power-python-sql-server-2017/ Python是SQL Server 2017的新版本。它的主要目的是允许在SQL Server中使用基于Python的机器学习,但它可以使用的…

xmlrpc与jsonrpc

RPC是Remote Procedure Call的缩写,翻译成中文就是远程过程调用,是一种在本地的机器上调用远端机器上的一个过程(方法)的技术,这个过程也被大家称为“分布式计算”,是为了提高各个分立机器的“互操作性”而…

6的变换_电源学报 | 2020年第3期:quot;高性能双向直流变换技术及其应用quot;专辑征稿启事...

往期精选:【电源学报•热点论文】贝尔福-蒙贝利亚技术大学(UTBM)高非教授-多物理域质子交换膜燃料电池建模仿真及实验测试专辑主编:张云 研究员(天津大学)吴红飞 教授(南京航空航天大学)专辑刊期: 2020年第3期(2020年5月)专辑介绍双向直流变换…

0基础怎么学python10010基础怎么学python_0基础学python全套python教程

C语言要写1000行代码,Java只需要写100行,而Python可能只要20行,所以Python是一种相当高级的语言,如今是Python的世界,花时间学习Python编程语言将是你对未来最好的投资,这就是要学习python的理由。 如何学习…

.Net Core3 新特性整理

.net core 3实现了.net 标准2.1。 1、生成可执行文件 以前版本需要dotnet run运行项目,.net core 3支持直接生成目标平台的可执行文件。比如windows就是exe了,linux就x了。 2、生成依赖项的副本 以前版本在build时不会把NuGet的工具复制到目标目录&#…

flash大作业一分钟源文件_「百树云课堂」一写作业就像被雷劈,是什么“病”?...

一写作业就闹心,大部分都是因为在培养习惯的时候基础没打好。比如:对时间不敏感、对效率不敏感、专注力低下等等!今天咱就系统说下“习惯培养”的重点。1大部分娃写不完作业,最主要的一点就是对时间不敏感。写一个字,喝…