Home >Backend Development >Python Tutorial >How to get the current file path in python

How to get the current file path in python

尚
Original
2019-07-02 17:23:0113530browse

How to get the current file path in python

Python method to get the current path:

import os,sys

Use sys.path[0], sys.argv[0], os.getcwd(), os.path.abspath(__file__), os.path.realpath(__file__)

sys.path is a list of search paths that Python will use to find modules, sys.path[0] and sys.argv[0] is the same thing because Python will automatically add sys.argv[0] to sys.path.

If you execute python getpath\getpath.py in the C:\test directory, then os.getcwd() will output "C:\test" and sys.path[0] will output "C:\ test\getpath".

If you use the py2exe module to compile a Python script into an executable file, the output of sys.path[0] will also change:
If the dependent library is packaged as a zip file in the default way, then sys.path[0] will output "C:\test\getpath\libarary.zip";
If the zipfile=None parameter is specified in setup.py, the dependent library will be packaged into the exe file, then sys. path[0] will output "C:\test\getpath\getpath.exe".

#!/bin/env python
#-*- encoding=utf8 -*-

import os,sys

if __name__=="__main__":

    print "__file__=%s" % __file__

    print "os.path.realpath(__file__)=%s" % os.path.realpath(__file__)

    print "os.path.dirname(os.path.realpath(__file__))=%s" % os.path.dirname(os.path.realpath(__file__))
  
    print "os.path.split(os.path.realpath(__file__))=%s" % os.path.split(os.path.realpath(__file__))[0]  

    print "os.path.abspath(__file__)=%s" % os.path.abspath(__file__)

    print "os.getcwd()=%s" % os.getcwd()

    print "sys.path[0]=%s" % sys.path[0]

    print "sys.argv[0]=%s" % sys.argv[0]

输出结果:
D:\>python ./python_test/test_path.py
__file__=./python_test/test_path.py
os.path.realpath(__file__)=D:\python_test\test_path.py
os.path.dirname(os.path.realpath(__file__))=D:\python_test
os.path.split(os.path.realpath(__file__))=D:\python_test
os.path.abspath(__file__)=D:\python_test\test_path.py
os.getcwd()=D:\
sys.path[0]=D:\python_test
sys.argv[0]=./python_test/test_path.py

os.getcwd() "D:\", the starting execution directory is taken
sys.path[0] or sys.argv[0] "D:\python_test", taken It is the directory where the initially executed script is located
os.path.split(os.path.realpath(__file__))[0] "D:\python_test", which takes the location of the file test_path.py where __file__ is located Directory

Correctly obtain the current path:

    __file__是当前执行的文件
 
    # 获取当前文件__file__的路径
    print "os.path.realpath(__file__)=%s" % os.path.realpath(__file__)
    # 获取当前文件__file__的所在目录
    print "os.path.dirname(os.path.realpath(__file__))=%s" % os.path.dirname(os.path.realpath(__file__))       # 获取当前文件__file__的所在目录
    print "os.path.split(os.path.realpath(__file__))=%s" % os.path.split(os.path.realpath(__file__))[0] 

For more Python related technical articles, please visit the Python Tutorial column to learn!

The above is the detailed content of How to get the current file path in python. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn