python sys.path[0] 的解释

sys.path是python的搜索模块的路径集,返回的结果是一个list

path[0]

此列表的第一项,path[0],在程序启动时初始化,是包含用来调用Python解释器的脚本的目录。如果脚本目录不可用(例如,如果解释器被交互式地调用,或者脚本是从标准输入读取的),path[0]是空字符串,它引导Python首先在当前目录中搜索模块。 
比如在C:Userchenxi3DestopSimplify中有一个testSysPath. py

import sys
print("
".join(sys.path))

输出是:

C:Userschenxi3DesktopSimplify 
C:Python27DLLs 
C:Python27lib 
C:Python27libplat-win 
C:Python27liblib-tk 
C:Python27 
C:Python27libsite-packages

path[0] 是C:Userschenxi3DesktopSimplify,调用python解释器的脚本所在的目录。 其实就是存放需要运行的代码的路径

什么是python解释器?(下面是选取廖雪峰老师文章的总结)

当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。

由于整个Python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python解释器来执行Python代码(当然难度很大)。事实上,确实存在多种Python解释器。

常见的Python解释器有: CPython IPython   PyPy  Jython   IronPython      

python中os.path.dirname(__file__)的使用
 (1).当"print os.path.dirname(__file__)"所在脚本是以完整路径被运行的, 那么将输出该脚本所在的完整路径,比如:
      python c:/python27/test/test.py
      那么将输出 c:/python27/test/
 (2).当"print os.path.dirname(__file__)"所在脚本是以相对路径被运行的, 那么将输出空目录,比如:
     python test.py

     那么将输出空字符串

以下代码可以保证在任何时候都切换到当前执行脚本所在目录中,该当当做公式熟记在心。

[python] view plain copy
 
      1. abspath = os.path.dirname(__file__)  
      2. sys.path.append(abspath)  
      3. print abspath  
      4. if abspath=='':  
      5.     os.chdir(sys.path[0])      
      6. else:  
      7.     os.chdir(abspath)    
原文地址:https://www.cnblogs.com/111testing/p/9574952.html