(Python)为什么我总是要在文件函数中键入绝对路径?

Ger*_*set 0 python absolute-path

例如,如果我有:
C:\ 42\main.py

C:\ 42\info.txt
,我想从main.py读取info.txt,我必须输入"C:\ 42\info.txt "instad of just"info.txt".

这应该是那样的吗?
如果没有,我该如何解决?

小智 10

您可以指定相对于脚本所在位置的路径.我在编写单元测试时一直这样做.

每个python文件都有一个特殊属性 - __file__存储该文件的路径.

py_file= os.path.abspath(__file__) # path to main.py
py_dir = os.path.dirname(py_file) # path to the parent dir of main.py
txt_file = os.path.join(py_dir, 'info.txt') # path to info.txt
Run Code Online (Sandbox Code Playgroud)


Lau*_*ves 5

它应该是那样的.相对路径相对于进程的当前工作目录,而不是脚本所在的目录.