python怎么获得当前程序的文件名称?

2025-11-06 00:56:41

1、我们要用到的其实是sys模块内的一个列表变量

即sys.argv

这其实是一个main方法的入口参数,如果小伙伴学过C的话,就知道在C中,main函数是这样写的:

int main(int argc,char * argv[])

{return 0;}

这个argc值得就是程序的参数个数,而argv则是程序的参数

不过在python中没有argc,我们要想获得参数个数,只能通过len函数来获得argv的成员数,然后得到参数个数

那么我们想要获得程序的文件名的话,即sys.argv[0],第一个参数就是我们的文件名

python怎么获得当前程序的文件名称?

2、还有一种方法,就是使用python的内置字符串变量——__file__

这个我们可以直接print打印。

print(__file__)

python怎么获得当前程序的文件名称?

3、要注意的一点是,不管是使用sys.argv[0]还是__file__都是一样,我们需要以py文件代码形式运行才能有我们想要的效果。

我们在python shell上打印sys.argv[0]为空,而打印__file__则出错。

因为此时我们根本不是以文件形式在解释,而是以shell方式运行语句,没有文件之说

python怎么获得当前程序的文件名称?

4、以上两种方式都是获得文件的绝对路径,如果我们只想获得文件名,单纯的文件名,如果不做字符串分割处理,还有别的办法可以直接获得文件名吗?

有,那就是os模块内的path.basename方法

我们先用刚刚说的那两种方法的任意一种获得我们文件的绝对路径,然后再使用os.path.basename方法。

代码和运行结果如图

python怎么获得当前程序的文件名称?

5、偷偷的告诉小伙伴:其实我们还可以用文件名来获得绝对路径,大部分用途是获得当前目录的绝对路径。

那就是os模块内的path.abspath()方法

看以下几个代码就知道了。

name = os.path.basename(__file__)

print(os.path.abspath(name))

print(os.path.abspath(""))

#传进空字符串就获得当前目录的绝对路径哦

python怎么获得当前程序的文件名称?

1、怎么关注?

在经验的右上角小编头像旁边点击关注,如图。

python怎么获得当前程序的文件名称?

2、怎么点赞?

请在经验左侧点赞,如图。

python怎么获得当前程序的文件名称?

3、怎么投票?

在经验的下方点击投票,如图。

python怎么获得当前程序的文件名称?

4、如果觉得小编写的还不错,可以动动鼠标把它分享给您的朋友。

如何分享,鼠标移动到右下角第一个按钮上,在弹出的选项中进行分享,如图。

不尽感激。

python怎么获得当前程序的文件名称?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢