首页 > 编程知识 正文

python 当前文件路径获取方式,python获取某个文件的当前路径

时间:2023-05-05 22:00:13 阅读:285232 作者:3192

一. Python 获取当前文件路径方法

2. sys.path[0]

获取文件当前工作目录路径(绝对路径)

sys.argv[0]|获得模块所在的路径(由系统决定是否是全名)

若显示调用python指令,如python demo.py,会得到绝对路径;

若直接执行脚本,如./demo.py,会得到相对路径。

3. __ file __

获得文件所在的路径(由系统决定是否是全名)

若显示执行Python,会得到绝对路径;

若按相对路径来直接执行脚本./pyws/path_demo.py,会得到相对路径。

4. os.path.abspath(__ file __)

获得文件所在的路径(绝对路径)

6. os.path.split(os.path.realpath(__ file __))

将文件路径名称分成头和尾一对,生成二元元组。(文件目录,文件名)

https://docs.python.org/2/library/os.path.html#os.path.split

二. 举个栗子

1. Source code

import os

import sys

print("sys.path[0] = ", sys.path[0])

print("sys.argv[0] = ", sys.argv[0])

print("__file__ = ", __file__)

print("os.path.abspath(__file__) = ", os.path.abspath(__file__))

print("os.path.realpath(__file__) = ", os.path.realpath(__file__))

print("os.path.dirname(os.path.realpath(__file__)) = ",

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

print("os.path.split(os.path.realpath(__file__)) = ",

os.path.split(os.path.realpath(__file__)))

print("os.path.split(os.path.realpath(__file__))[0] = ",

os.path.split(os.path.realpath(__file__))[0])

print("os.getcwd() = ", os.getcwd())

2. Result

(1) Pycharm project中显示调用python指令,获取文件绝对路径

C:Python364python.exe C:/PyCharm/PycharmProject/get_path/path_demo.py

sys.path[0] = C:PyCharmPycharmProjectget_path

sys.argv[0] = C:/PyCharm/PycharmProject/get_path/path_demo.py

__file__ = C:/PyCharm/PycharmProject/get_path/path_demo.py

os.path.abspath(__file__) = C:PyCharmPycharmProjectget_pathpath_demo.py

os.path.realpath(__file__) = C:PyCharmPycharmProjectget_pathpath_demo.py

os.path.dirname(os.path.realpath(__file__)) = C:PyCharmPycharmProjectget_path

os.path.split(os.path.realpath(__file__)) = ('C:\PyCharm\PycharmProject\get_path', 'path_demo.py')

os.path.split(os.path.realpath(__file__))[0] = C:PyCharmPycharmProjectget_path

os.getcwd() = C:PyCharmPycharmProjectget_path

Process finished with exit code 0

(2)Terminal中直接执行Python脚本,获取文件相对路径

C:PyCharmPycharmProjectget_path>python path_demo.py

('sys.path[0] = ', 'C:\PyCharm\PycharmProject\get_path')

('sys.argv[0] = ', 'path_demo.py')

('__file__ = ', 'path_demo.2分快三计划

os.path.split(os.path.realpath(__file__))[0] = C:PyCharmPycharmProjectget_path

os.getcwd() = C:PyCharmPycharmProjectget_path

Process finished with exit code 0

(2)Terminal中直接执行Python脚本,获取文件相对路径

C:PyCharmPycharmProjectget_path>python path_demo.py

('sys.path[0] = ', 'C:\PyCharm\PycharmProject\get_path')

('sys.argv[0] = ', 'path_demo.py')

('__file__ = ', 'path_demo.py')

('os.path.abspath(__file__) = ', 'C:\PyCharm\PycharmProject\get_path\path_demo.py')

('os.path.realpath(__file__) = ', 'C:\PyCharm\PycharmProject\get_path\path_demo.py')

('os.path.dirname(os.path.realpath(__file__)) = ', 'C:\PyCharm\PycharmProject\get_path')

('os.path.split(os.path.realpath(__file__)) = ', ('C:\PyCharm\PycharmProject\get_path', 'path_demo.py'))

('os.path.split(os.path.realpath(__file__))[0] = ', 'C:\PyCharm\PycharmProject\get_path')

('os.getcwd() = ', 'C:\PyCharm\PycharmProject\get_path')

三. 参考

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。