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
https://www.cnblogs.com/serpent/