手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

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

时间:2024-10-13 18:52:49

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怎么获得当前程序的文件名称
© 手抄报圈