import os
# 获取当前文件绝对目录路径
base_dir = os.path.dirname(os.path.abspath(__file__))
# 获取"test.txt"绝对文件路径
file_path = os.path.join(base_dir, 'test.txt')
print("当前文件绝对目录路径为:", base_dir)
print("取’test.txt‘绝对文件路径:", file_path)
# ------------------
# 获取上级目录绝对目录路径
parent_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# 获取"test.txt"绝对文件路径
parent_file_path = os.path.join(parent_dir, 'test.txt')
print("上级目录绝对目录路径为:", parent_dir)
print("获取’test.txt‘绝对文件路径:", parent_file_path)
输入结果为:
[root@localhost ~]# python3 test.py
当前文件绝对目录路径为: /root
取’test.txt‘绝对文件路径: /root/test.txt
上级目录绝对目录路径为: /
获取’test.txt‘绝对文件路径: /test.txt
除了上面的办法获取文件的目录路径外,还可以用:os.getcwd().经过测试,发现这种获取路径并不准,不建议采用.
# 获取当前文件的目录绝对路径
dir_path = os.getcwd()
# 某些场景下,获取目录路径不准确.比如/var/django/school/school的目录路径,
# 获取成/var/django/school.因此不建议使用这种方式获取目录路径.
获取当前文件上两级目录的方法:
vi 9999.py
#当前文件的路径
pwd = os.getcwd()
#当前文件的上级路径
father_path = os.path.abspath(os.path.dirname(pwd)+os.path.sep+".")
#当前文件的前两级目录
grader_father = os.path.abspath(os.path.dirname(pwd)+os.path.sep+"..")
print(pwd)
print(father_path)
print(grader_father)
输出的结果为:
bruce@bruce-x260:~/PycharmProjects/Django2/HTML/JS$ python3 9999.py
/home/bruce/PycharmProjects/Django2/HTML/JS
/home/bruce/PycharmProjects/Django2/HTML
/home/bruce/PycharmProjects/Django2