python – __file__变量是什么意思/做什么?

A = os.path.join(os.path.dirname(__file__), '..')

B = os.path.dirname(os.path.realpath(__file__))

C = os.path.abspath(os.path.dirname(__file__))

我通常只是硬连线这些与实际的路径。但是有一个原因,这些语句确定运行时的路径,我真的想低调os.path模块,所以我可以开始使用它。

当模块在Python中加载时,__file__被设置为其名称。然后,您可以使用与其他函数来找到该文件所在的目录。

一次一个地举一个例子:

A = os.path.join(os.path.dirname(__file__), '..')
# A is the parent directory of the directory where program resides.

B = os.path.dirname(os.path.realpath(__file__))
# B is the canonicalised (?) directory where the program resides.

C = os.path.abspath(os.path.dirname(__file__))
# C is the absolute path of the directory where the program resides.

你可以在这里看到从这里返回的各种值:

import os
print __file__
print os.path.join(os.path.dirname(__file__), '..')
print os.path.dirname(os.path.realpath(__file__))
print os.path.abspath(os.path.dirname(__file__))

并确保从不同的位置(例如./text.py,〜/ python / text.py等)运行它,看看有什么区别。

http://stackoverflow.com/questions/9271464/what-does-the-file-variable-mean-do

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:python – __file__变量是什么意思/做什么?