如何获得当前python文件的父路径,同时能在命令行运行而不报错
时间: 2023-12-10 12:03:20 浏览: 126
Python如何获取文件路径/目录
要获得当前 Python 文件的父路径,可以使用 `os.path.dirname()` 函数获取当前脚本所在的目录路径,然后再使用 `os.path.abspath()` 函数将其转换为绝对路径。代码示例如下:
```python
import os
# 获取当前脚本所在目录的父路径
parent_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir))
# 打印父路径
print(parent_dir)
```
在命令行中运行 Python 脚本时,需要注意以下两点:
1. 在代码中使用 `__file__` 变量时会报错,因为在命令行中运行时,该变量值为 `__main__` 而不是脚本的文件名。因此,需要使用 `sys.argv[0]` 变量来获取脚本的文件名。
2. 在 Windows 系统中,路径分隔符为反斜杠 `\`,但是在 Unix/Linux 系统中,路径分隔符为正斜杠 `/`。因此,为了确保代码在不同操作系统下都能正常运行,可以使用 `os.path.join()` 函数来拼接路径,该函数会自动选择正确的路径分隔符。
下面是一个在命令行中运行并能获取父路径的完整示例代码:
```python
import os
import sys
# 获取当前脚本所在目录的父路径
parent_dir = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), os.pardir))
# 打印父路径
print(parent_dir)
```
阅读全文