多语言展示
当前在线:870今日阅读:168今日分享:49

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

很多时候,小伙伴想用python获得python程序的文件名和路径,这时候应该怎么做呢?
工具/原料

python

方法/步骤
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],第一个参数就是我们的文件名

2

还有一种方法,就是使用python的内置字符串变量——__file__这个我们可以直接print打印。print(__file__)

3

要注意的一点是,不管是使用sys.argv[0]还是__file__都是一样,我们需要以py文件代码形式运行才能有我们想要的效果。我们在python shell上打印sys.argv[0]为空,而打印__file__则出错。因为此时我们根本不是以文件形式在解释,而是以shell方式运行语句,没有文件之说

5

偷偷的告诉小伙伴:其实我们还可以用文件名来获得绝对路径,大部分用途是获得当前目录的绝对路径。那就是os模块内的path.abspath()方法看以下几个代码就知道了。name = os.path.basename(__file__)print(os.path.abspath(name))print(os.path.abspath(''))#传进空字符串就获得当前目录的绝对路径哦

是否帮到了您?如果有帮到您,请点个关注、点个投票、点个分享、点个赞
1

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

2

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

3

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

4

如果觉得小编写的还不错,可以动动鼠标把它分享给您的朋友。如何分享,鼠标移动到右下角第一个按钮上,在弹出的选项中进行分享,如图。不尽感激。

注意事项
1

如有疑问,点击左下角的投票或者有得给小编留言,小编看到会第一时间回复您,谢谢

2

如果喜欢本经验,请关注我。可以把它分享给您的朋友,请点个投票点个收藏。谢谢,您的支持是我最大的动力。

推荐信息