打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
python获取当前路径

python获取当前路径

import os,sys

使用sys.path[0]、sys.argv[0]、os.getcwd()、os.path.abspath(__file__)、os.path.realpath(__file__)

sys.path是Python会去寻找模块的搜索路径列表,sys.path[0]和sys.argv[0]是一回事因为Python会自动把sys.argv[0]加入sys.path。

如果你在C:\test目录下执行python getpath\getpath.py,那么os.getcwd()会输出“C:\test”,sys.path[0]会输出“C:\test\getpath”。

如果你用py2exe模块把Python脚本编译为可执行文件,那么sys.path[0]的输出还会变化:
如果把依赖库用默认的方式打包为zip文件,那么sys.path[0]会输出“C:\test\getpath\libarary.zip”;
如果在setup.py里面指定zipfile=None参数,依赖库就会被打包到exe文件里面,那么sys.path[0]会输出“C:\test\getpath\getpath.exe”。

 
#!/bin/env python#-*- encoding=utf8 -*-import os,sysif __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.pyos.path.realpath(__file__)=D:\python_test\test_path.pyos.path.dirname(os.path.realpath(__file__))=D:\python_testos.path.split(os.path.realpath(__file__))=D:\python_testos.path.abspath(__file__)=D:\python_test\test_path.pyos.getcwd()=D:sys.path[0]=D:\python_testsys.argv[0]=./python_test/test_path.py

os.getcwd() “D:\”,取的是起始执行目录
sys.path[0]或sys.argv[0] “D:\python_test”,取的是被初始执行的脚本的所在目录
os.path.split(os.path.realpath(__file__))[0] “D:\python_test”,取的是__file__所在文件test_path.py的所在目录

 

正确获取当前的路径:

    __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] 

幸运之神的降临,往往只是因为你多看了一眼,多想了一下,多走了一步。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python / 如何获得Python脚本所在目录的位置 | Elias的个人主页
python获取文件当前路径方法汇总
python os模块 常用命令
python实现将m3u8格式转换为mp4视频格式
用Python发送邮件及附件
python
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服