zoukankan      html  css  js  c++  java
  • python得到代码所在文件的绝对路径

    在python中获取当前路径使用os.getcwd()并不总是有效的,不是得到的真实绝对路径。运行的时候有时取得的路径是当前脚本路径,有时却不是,相同的代码,在win的pycharm下运行得到的路径,与在linux中执行python test.py后得到的路径是不同的。

    查阅了一些资料才发现,os.getcwd()是用来获取调用python程序时所在目录,也就是调用目录,并非该脚本所在目录,举个例子:
    有这样一个脚本,e: ootsubdir est.py,且test.py文件中有print os.getcwd()语句,
    进入cmd窗口,cd e: ootsubdir,敲击python test.py 文件,打印结果是e: ootsubdir
    如果是这样 cd e: oot,敲击python test.py 文件,打印结果却是e: oot
    简而言之也就是你在哪个窗口执行的命令,当前窗口就是哪儿。
    即使在win的pycharm下,两个模块在相同的目录下也会显示不同的路径

    因为连个模块中的代码不同,导致输出的路径,一个是mainpro , 一个是mypkg.

    解决办法:

    获取代码所在文件的绝对路径:

    current_path = os.path.abspath(__file__)

    获取以上文件所在的目录

    current_dir = os.path.dirname(os.path.abspath(__file__))

    再次用以上方法可以得到上上级目录等等

    参考https://blog.csdn.net/cckavin/article/details/85392392

    https://blog.csdn.net/qq_33716688/article/details/89333856

    https://blog.csdn.net/lzl001/article/details/8495823

  • 相关阅读:
    webservice的几种调用方式
    捕获的异常到控制台的的信息转为String输出,在保存日志方面有用
    IO文件的读取与写入
    eclipse修改内存大小
    Oracle序列的创建与删除
    NFS挂载-实现文件共享
    arraylList.add(int,obj)的底层是怎么样的??
    Oracle修改表字段数据类型
    SVN版本库打包迁移备份恢复
    linux中tar详解
  • 原文地址:https://www.cnblogs.com/yoyowin/p/12120766.html
Copyright © 2011-2022 走看看