Python基础学习之sys.argv[0]及类似方法

前言

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()函数来拿取当前代码路径或者当前代码名称。

后续会持续更新,欢迎关注!

猜你喜欢

转载自blog.csdn.net/qq_45212655/article/details/138284139