跳至内容
Python 俱乐部
用户工具
登录
站点工具
搜索
工具
显示页面
修订记录
反向链接
最近更改
媒体管理器
网站地图
登录
>
最近更改
媒体管理器
网站地图
您的足迹:
python-scripts:location
本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。
====== Python 获取当前脚本文件路径目录 (支持py2exe) ====== 有时需要获取Python脚本的当前目录,下边是一个实现的方案。 Google了一下,网上也有其它实现办法,但是如果使用py2exe编译后,或者更改当前工作目录后会出现不同结果,这种方案没有这个问题。 获得当前执行的脚本的所在目录位置,那么需要使用sys模块的sys.path[0]变量或者sys.argv[0]来获得。实际上sys.path是Python会去寻找模块的搜索路径列表,sys.path[0]和sys.argv[0]是一回事,因为Python会自动把sys.argv[0]加入sys.path。 <code> home/echo | [dir]test [file]test.py </code> 运行test/test.py,使用以下的命令: * os.getcwd(),home/echo,取的是当前的工作目录 * os.path[0]|os.argv[0] test/test.py,取的是被初始执行脚本所在的目录 * os.path.realpath(__file__),/home/echo/test/test.py,取的是脚本的完整目录 特别的__file__这个变量有时候返回相对路径,有时候返回绝对路径,因此还要用os.path.realpath()函数来处理一下。 也即在这个例子 里,os.path.realpath(__file__)输出是“/home/echo/test/test.py”, 而 os.path.split(os.path.realpath(__file__))[0]输出是“/home/echo/test”。 <code python> # -*- coding: cp936 -*- 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) #打印结果 print cur_file_dir() </code>
python-scripts/location.txt
· 最后更改: 2010/12/04 01:26 (外部编辑)
页面工具
显示页面
修订记录
反向链接
回到顶部