获取Python 源文件所在的目录
import os
dir_path = os.path.dirname(os.path.realpath(__file__))
Code language: JavaScript (javascript)
注意: file常量的值是相对于当前工作目录的
要获取当前工作目录:
import os
cwd = os.getcwd()
Code language: JavaScript (javascript)
os.path.realpath(path) :(返回path指定文件名的规范路径,消除路径中遇到的任何符号链接)
os.path.dirname(path) :(返回path路径名的目录名)
os.getcwd() :(返回当前工作目录)
os.chdir(path) :(将当前工作目录改为path)
下面代码供参考
import os
print("Path at terminal when executing this file")
print(os.getcwd() + "\n")
print("This file path, relative to os.getcwd()")
print(__file__ + "\n")
print("This file full path (following symlinks)")
full_path = os.path.realpath(__file__)
print(full_path + "\n")
print("This file directory and name")
path, filename = os.path.split(full_path)
print(path + ' --> ' + filename + "\n")
print("This file directory only")
print(os.path.dirname(full_path))
Code language: PHP (php)
使用pathlib模块
pathlib
模块在 Python 3.4 中引入(PEP 428 – pathlib 模块 – 面向对象的文件系统路径),使与路径相关的体验变得更好。
以下面的路径为例
pwd
/home/doudou/stack
tree
.
└── scripts
├── 1.py
└── 2.py
- 要获取当前工作目录,请使用
Path.cwd()
:
from pathlib import Path
print(Path.cwd()) # /home/doudou/stack
Code language: PHP (php)
- 要获取脚本文件的绝对路径,请使用
Path.resolve()
方法:
print(Path(__file__).resolve()) # /home/doudou/stack/scripts/1.py
Code language: PHP (php)
- 获取脚本所在目录的路径,使用
.parent
print(Path(__file__).resolve().parent) # /home/doudou/stack/scripts
Code language: PHP (php)
- 如何在 Python 中获取当前执行文件的路径?.
请注意,Path.cwd()
和Path.resolve()
及其他Path方法返回路径对象,而不是字符串。