zoukankan      html  css  js  c++  java
  • __file__ 作用以及模块导入方法

    python 执行py 文件的时候,默认就会把当前目录增加到sys.path中

    import os print(__file__) #打印文件当前的位置

    直接在目录里面执行,结果显示当前文件(pycharm里面会给增加一个绝对路劲,这是pyharm自作主张增加的,终端里面是不会有的)

     带上路劲执行,结果显示当前文件的绝对路劲(也就是说我提供了路径,所以__file__能找到我执行的路劲)

     

    import os
    print(os.path.dirname(__file__))      #打印当前文件上一层目录

    直接执行,结果显示为空

     指定路径后,执行会显示当前文件的上一层目录

     

     

    import os
    print(os.path.dirname(os.path.abspath(__file__))) #打印当前文件的绝对路劲,获取当前文件上一层目录

    os.path.abspath(__file__) 获取当前当前文件的绝对路劲
    os.path.dirname()获取当前文件上一层目录

     

     如果我们加系统变量路劲;推荐使用这种方法:  ---> 当前文件执行的目录的路劲就加入到python 路劲里面,后面不管你目录移动到什么位置,里面的文件都能执行

    BASH_DIR = os.path.dirname(os.path.abspath(__file__))
    sys.path.append(BASH_DIR)

     

     

    python 终端执行报错: 因为__file __显示文件路劲,没有在文件里面执行,直接终端执行肯定报错.

    >>> print(__file__)
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    NameError: name '__file__' is not defined

     



  • 相关阅读:
    [POJ2456]Aggressive cows(贪心,二分查找)
    [POJ1064]Cable master
    [Hadoop]单机尝试安装并测试Hadoop2.7.1(附带注释脚本)
    [HDOJ5500]Reorder the Books
    [UVA11076]Add Again
    [BNU弱校联萌]背水一战
    [HDOJ4911]Inversion
    POJ2735/Gym 100650E Reliable Nets dfs
    Gym 100650H Two Ends DFS+记忆化搜索
    HDU 4292 Food 最大流
  • 原文地址:https://www.cnblogs.com/ajaxa/p/9016475.html
Copyright © 2011-2022 走看看