前言
在Python编程中,经常会遇到要拿取当前代码路径或者当前代码名称,今天分享几个拿取的方法。
一.功能目的
拿取当前代码路径或者当前代码名称。
二.功能调研
根据搜索引擎,我们可以提取到以下信息:
1.sys.argv[0] 是脚本自身的名称
需要注意的是,sys.argv[0] 的值取决于你如何运行脚本。如果你在命令行中直接运行脚本,那么sys.argv[0] 将会是脚本文件的路径(可能是相对的或绝对的)。如果你是在一个交互式环境(如Python shell或IDE)中运行代码片段,sys.argv 可能不包含有用的信息,因为它通常只包含Python解释器的路径。
import sys
# 获取脚本名称
script_name = sys.argv[0]
# 打印脚本名称
print("The name of this script is:", script_name)
2.os.path.abspath()函数会将其转换为绝对路径。
import os
# 获取当前执行的脚本文件的绝对路径
current_file_path = os.path.abspath(__file__)
print("The absolute path of this script is:", current_file_path)
3.os.path.dirname()函数会返回指定路径的目录部分。
import os
# 获取当前执行的脚本文件所在的目录路径
current_directory = os.path.dirname(os.path.abspath(__file__))
print("The directory of this script is:", current_directory)
4.os.path.basename()函数会返回路径中的最后一个部分,即文件名。
import sys
import os
# 获取脚本的绝对路径
script_path = sys.argv[0]
# 获取脚本文件名(不带路径)
script_name_only = os.path.basename(script_path)
# 打印脚本文件名
print("The name of this script (without path) is:", script_name_only)
根据以上信息,我们可以导入相应的库,拿到我们想要的值。
三.编写代码
1.代码示例
代码如下(示例):
import sys
import os
aa = sys.argv[0]
print(aa)
bb = os.path.abspath(sys.argv[0])
print(bb)
cc = os.path.dirname(os.path.abspath(sys.argv[0]))
print(cc)
dd = os.path.basename(bb)
print(dd)
2.结果如下
运行这段代码,就可以得到以下结果:
总结
本文主要讲了使用 sys.argv[0] 、os.path.abspath()函数、os.path.dirname()函数、os.path.basename()函数来拿取当前代码路径或者当前代码名称。
后续会持续更新,欢迎关注!