python os.path.dirname() abspath()

测试文件的名称

path_test.py

先确定文件目录

(my_flask3) python@ubuntu:~/Desktop/flask_news_pro$ python path_test.py 

实验运行代码和结果(所有测试在Ubuntu16.04,pycharm2016中运行)

import os
file_path = os.path.abspath(__file__)  # 返回的是完整的路径(有文件名)
file_abspath = os.path.dirname(__file__)  # 返回的是命令行中的路径(没有文件名)
print(file_path)
print(file_abspath)
print(__file__)  
# /home/python/Desktop/flask_news_pro/path_test.py 直接运行
# /home/python/Desktop/flask_news_pro
# /home/python/Desktop/flask_news_pro/path_test.py

# (my_flask3) python@ubuntu:~/Desktop/flask_news_pro$ python path_test.py   命令运行 没有路径
# /home/python/Desktop/flask_news_pro/path_test.py
#
#path_test.py


# (my_flask3) python@ubuntu:~/Desktop$ python flask_news_pro/path_test.py   命令运行,加路径
# /home/python/Desktop/flask_news_pro/path_test.py
# flask_news_pro
# flask_news_pro/path_test.py



file_abspath = os.path.dirname(os.path.abspath(__file__))
file_path = os.path.abspath(os.path.dirname(__file__))

print(file_abspath)
print(file_path)


# /home/python/Desktop/flask_news_pro   命令运行 没有路径
# /home/python/Desktop/flask_news_pro

# /home/python/Desktop/flask_news_pro   直接运行
# /home/python/Desktop/flask_news_pro

# /home/python/Desktop/flask_news_pro   命令运行,加路径
# /home/python/Desktop/flask_news_pro

实例:

def setup_log(config_name):
    """配置日志"""
    dir_file = os.path.abspath(__file__)
    dir_info = os.path.dirname(dir_file) # 返回上一级目录
    dir_base = os.path.dirname(dir_info)
    dir_log = os.path.join(dir_base, 'logs/log')
    print(dir_file)
    print(dir_info)
    print(dir_base)
    print(dir_log)

  

/home/python/Desktop/flask_news_pro/xjzx/info/__init__.py
/home/python/Desktop/flask_news_pro/xjzx/info
/home/python/Desktop/flask_news_pro/xjzx
/home/python/Desktop/flask_news_pro/xjzx/logs/log

  

posted @ 2018-09-12 21:43  贾祥飞  阅读(613)  评论(1编辑  收藏  举报