51Testing软件测试论坛

标题: python 路径问题 [打印本页]

作者: 测试积点老人    时间: 2018-12-28 14:13
标题: python 路径问题

例子

  1. #!/bin/env python
  2. #-*- encoding=utf8 -*-

  3. import os,sys

  4. if __name__=="__main__":

  5.     print "__file__=%s" % __file__

  6.     print "os.path.realpath(__file__)=%s" % os.path.realpath(__file__)

  7.     print "os.path.dirname(os.path.realpath(__file__))=%s" % os.path.dirname(os.path.realpath(__file__))
  8.   
  9.     print "os.path.split(os.path.realpath(__file__))=%s" % os.path.split(os.path.realpath(__file__))[0]  

  10.     print "os.path.abspath(__file__)=%s" % os.path.abspath(__file__)

  11.     print "os.getcwd()=%s" % os.getcwd()

  12.     print "sys.path[0]=%s" % sys.path[0]

  13.     print "sys.argv[0]=%s" % sys.argv[0]

  14. 输出结果:
  15. D:\>python ./python_test/test_path.py
  16. __file__=./python_test/test_path.py
  17. os.path.realpath(__file__)=D:\python_test\test_path.py
  18. os.path.dirname(os.path.realpath(__file__))=D:\python_test
  19. os.path.split(os.path.realpath(__file__))=D:\python_test
  20. os.path.abspath(__file__)=D:\python_test\test_path.py
  21. os.getcwd()=D:\
  22. sys.path[0]=D:\python_test
  23. sys.argv[0]=./python_test/test_path.py
复制代码

os.getcwd() “D:\”,取的是起始执行目录
sys.path[0]或sys.argv[0] “D:\python_test”,取的是被初始执行的脚本的所在目录
os.path.split(os.path.realpath(__file__))[0] “D:\python_test”,取的是__file__所在文件test_path.py的所在目录


正确获取当前的路径

    __file__是当前执行的文件

    # 获取当前文件__file__的路径

    print "os.path.realpath(__file__)=%s" % os.path.realpath(__file__)

    # 获取当前文件__file__的所在目录

   print "os.path.dirname(os.path.realpath(__file__))=%s" % os.path.dirname(os.path.realpath(__file__))   
    # 获取当前文件__file__的所在目录

    print "os.path.split(os.path.realpath(__file__))=%s" % os.path.split(os.path.realpath(__file__))[0] 










欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2