zoukankan      html  css  js  c++  java
  • python中获取文件目录的方法

    获取文件路径引用的模块可以有:sys/os

    用sys.args[0]参数是获得主执行文件路径的最佳方法;

    也可以调用__file__这个参数,但是"__file__" 是用来获得模块所在的路径的;具体如下:

     1 #!/usr/bin/env python
     2 # coding: utf-8
     3 
     4 import sys
     5 import os
     6 
     7 jms_dir = os.path.dirname(os.path.abspath(os.path.dirname(__file__)))
     8 print "sys.argv[0]获取主执行文件路径的最佳方法,它可能是一个相对路径 ---------->>>>   ",sys.argv[0]
     9 print "__file__ 是用来获得模块所在的路径的,这可能得到的是一个相对路径 ---------->>>>   ",__file__
    10 print "os.path.dirname(__file__)获取__file__的相对目录 ---------->>>>   " ,os.path.dirname(__file__)
    11 print "os.path.abspath(__file__)表示获取__file__模块的绝对路径 ---------->>>>   ",os.path.abspath(__file__)
    12 print "os.path.abspath(sys.argv[0])表示获取的绝对路径 ---------->>>>   ",os.path.abspath(sys.argv[0])
    13 print "os.path.dirname(os.path.abspath(os.path.dirname(__file__))) ---------->>>>       ",jms_dir
    14 print "os.path.abspath(os.path.dirname(__file__)) ---------->>>>       ",os.path.abspath(os.path.dirname(__file__))
    15 print "os.path.dirname(os.path.abspath(__file__)) ---------->>>>        "       ,os.path.dirname(os.path.abspath(__file__))
    结果为:
    1 [root@localhost hejoy]# ./q.py 
    2 sys.argv[0]获取主执行文件路径的最佳方法,它可能是一个相对路径 ---------->>>>    ./q.py
    3 __file__ 是用来获得模块所在的路径的,这可能得到的是一个相对路径 ---------->>>>    ./q.py
    4 os.path.dirname(__file__)获取__file__的相对目录 ---------->>>>    .
    5 os.path.abspath(__file__)表示获取__file__模块的绝对路径 ---------->>>>    /home/hejoy/q.py
    6 os.path.abspath(sys.argv[0])表示获取的绝对路径 ---------->>>>    /home/hejoy/q.py
    7 os.path.dirname(os.path.abspath(os.path.dirname(__file__))) ---------->>>>    /home
    8 os.path.abspath(os.path.dirname(__file__)) ---------->>>>        /home/hejoy
    9 os.path.dirname(os.path.abspath(__file__)) ---------->>>>     /home/hejoy
  • 相关阅读:
    ES6关于Promise的用法
    JS进阶篇--JS数组reduce()方法详解及高级技巧
    JavaScript常用数组操作方法,包含ES6方法
    揭密 Vue 的双向绑定
    JavaScript(E5,6) 正则学习总结学习,可看可不看!
    利用scons构建project
    cuda核函数再调用核函数,多层并行
    使用微信JSSDK实现图片上传
    android 自己定义水平和圆形progressbar 仅仅定义一些style就能够
    [LeetCode] 035. Search Insert Position (Medium) (C++)
  • 原文地址:https://www.cnblogs.com/st12345/p/7344238.html
Copyright © 2011-2022 走看看