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!