Refs:
https://blog.csdn.net/qq_15188017/article/details/53991216
假设py文件路径为
F:/SEG/myResearch/myProject_2/test.py
Method 1: sys.argv[0]
import sys
print sys.argv[0]#获得的是当前执行脚本的位置(若在命令行执行的该命令,则为空)12
运行结果(在python脚本中执行的结果):
F:/SEG/myResearch/myProject_2
注意:对于py文件和py可执行文件sys.path[0]返回的结果不同。
import sys,os
#获取脚本文件的当前路径
def cur_file_dir():
#获取脚本路径
path = sys.path[0]
#判断为脚本文件还是py2exe编译后的文件,如果是脚本文件,则返回的是脚本的目录,如果是py2exe编译后的文件,则返回的是编译后的文件路径
if os.path.isdir(path):
return path
elif os.path.isfile(path):
return os.path.dirname(path)
Method 2: os模块
import os
print os.getcwd()#获得当前工作目录
print os.path.abspath('.')#获得当前工作目录
print os.path.abspath('..')#获得当前工作目录的父目录
print os.path.abspath(os.curdir)#获得当前工作目录
运行结果:
F:\SEG\myResearch\myProject_2
F:\SEG\myResearch\myProject_2
F:\SEG\myResearch
F:\SEG\myResearch\myProject_2
注:若要改变当前工作路径,可以用:os.chdir(path) 。
本文详细介绍了在Python中如何获取当前执行脚本的绝对路径,对比了使用sys.argv[0]和os模块的不同方法,并解释了这些方法在脚本文件和编译后的py可执行文件中返回路径的区别。

4213

被折叠的 条评论
为什么被折叠?



