发布时间:2019-08-26 07:19:56编辑:auto阅读(1943)
大部分情况下 __file__属性和sys.argv[0]的值是一样的,但是在不是使用python script.py形式执行脚本的时候(如 import, execfile()),他们的值就不一样了
例子:
[root@localhost ~]# cat empty.py #!/usr/bin/env python # -*- coding=utf-8 -*- import sys print 'from import __file__ is ' ,__file__ print 'from import sys.argv[0] is ' ,sys.argv[0] [root@localhost ~]# cat test.py #!/usr/bin/env python # -*- coding=utf-8 -*- import sys import empty print 'from main', __file__ print 'from main', sys.argv[0]
输出结果:
[root@localhost ~]# ./test.py
from import __file__ is /root/empty.py
from import sys.argv[0] is ./test.py
from main ./test.py
from main ./test.py
Tips:当第二次执行脚本的时候第一行输出将不是empty这个脚本,会是对应的pyc文件
上一篇: CentOS5.8 升级python至2
下一篇: python2.7 安装ssl模块
50958
50341
40956
37826
32289
29179
28069
22897
22858
21191
1051°
1728°
1410°
1349°
1611°
1439°
2095°
3637°
3563°
2510°