20211223

https://blog.csdn.net/qq_43178297/article/details/88053836
获取上一层目录

import osprint('***获取当前目录***')
print(os.getcwd())
print(os.path.abspath(os.path.dirname(__file__)))print('***获取上级目录***')
print(os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
print(os.path.abspath(os.path.dirname(os.getcwd())))
print(os.path.abspath(os.path.join(os.getcwd(), "..")))print('***获取上上级目录***')
print(os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
print(os.path.abspath(os.path.join(os.getcwd(), "../..")))
import os
import os.path
from pathlib import Path
sys = platform.system()
if sys == "Windows":PATH = os.path.abspath(str(Path('').absolute())) + '/'
else:PATH = '/data/engine-company-name-match/'
target_path = PATH + '/log'if os.path.exists(target_path):passelse:os.mkdir(target_path)
判断目录是否存在,如果不存在则新建

20210811

          for name in  os.listdir('./'):if name==self.cookie_file:os.remove('./'+str(self.cookie_file))
windows获取当前路径  './'

20210725


相对路径 以当前根目录为基准

20210618

    import osbase_dir=os.path.dirname(__file__)


最近的source 路径

20210601

import os
from pathlib import Path
fpath=os.path.abspath(str(Path('.').absolute()))
aa=os.path.join(fpath, 'config.yml')

重点

20210323


当前磁盘分区的根目录 比如 C:\

20210129


直接就是与当前目录平级


import pathpath_=os.path.split(os.path.realpath(path.__file__))[0]path文件为字节防止的空文件
    base_path=os.path.abspath(os.path.join(os.getcwd(),"../.."))  #后面的两对点号 相当于回退了两层通过此方法获取当前路径 只有在控制台转到这个当前目录才行

os.getcwd():仅仅获得程序运行的当前目录所在位置(如果你在a目录下执行某脚本,无论脚本调用了那些,返回的目录仍然是a)

sys.argv[0]  = sys.path[0]

要获得当前执行的脚本的所在目录位置。实际上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。

2. 正确的方法
但以上这些其实都不是脚本文件所在目录的位置。 
比如C:\test目录下还有一个名为sub的目录;C:\test目录下有getpath.py,sub目录下有 sub_path.py,getpath.py调用sub_path.py;我们在C:\test下执行getpath.py。如果我们在 sub_path.py里面使用sys.path[0],那么其实得到的是getpath.py所在的目录路径C:\test,因为Python虚拟机是从getpath.py开始执行的。如果想得到sub_path.py的路径,那么得这样:

os.path.split(os.path.realpath(__file__))[0]

其中file虽然是所在.py文件的完整路径,但是这个变量有时候返回相对路径,有时候返回绝对路径,因此还要用os.path.realpath()函数来处理一下。也即在这个例子里,os.path.realpath(__file__)输出是C:\test\sub\sub_path.py,而os.path.split(os.path.realpath(__file__))[0]输出才是C:\test\sub。

3. 实例说明
总之,举例来讲,os.getcwd()、sys.path[0] (sys.argv[0])和file的区别是这样的: 
假设目录结构是: 
复制代码 代码如下:

C:test
|-getpath
    |-path.py
    |-sub
        |-sub_path.py

然后我们在C:\test下面执行python getpath/path.py,这时sub_path.py里面与各种用法对应的值其实是:

os.getcwd() “C:\test”,取的是起始执行目录

sys.path[0]或sys.argv[0] “C:\test\getpath”,取的是被初始执行的脚本的所在目录

os.path.split(os.path.realpath(__file__))[0] “C:\test\getpath\sub”,取的是file所在文件sub_path.py的所在目录


http://www.taodudu.cc/news/show-63910.html

相关文章:

  • detach detach_ pytorch
  • NLLLoss CrossEntropyLoss Pytorch
  • array.array python yhzf
  • pandas dataframe 删除带空值的行 各种空值 (dropna()、isna()、isnull()、fillna())
  • lightgbm保存模型参数
  • numpy 随机数
  • lightgbm 决策树 可视化 graphviz
  • 数组的拼接合并 numpy
  • tensor和模型 保存与加载 PyTorch
  • 矩阵乘法的性能提升 AutoKernel
  • sklearn数据处理_one_hot
  • 一维卷积网络多分类
  • tensor转换 pytorch tensorflow
  • API pytorch tensorflow
  • python 虚拟环境 tensorflow GPU
  • 垃圾回收 内存管理 python
  • tensorflow 1.x Saver(保存与加载模型) 预测
  • 模型部署web发布
  • 利用pandas读写HDF5文件
  • 文件流处理流式处理大数据处理
  • 多分类 数据不平衡的处理 lightgbm
  • 样本不平衡不均衡数据处理
  • EdgeBERT:极限压缩bert
  • java转python
  • linux各种模式切换
  • 假设检验_python 重点
  • 机器学习常用术语词汇表
  • mysql engine innodb myisam 区别
  • 格式化_icecream_python
  • 数据类型对应的字节数

获取当前脚本目录路径问题汇总相关推荐

  1. php获取上传文件的临时位置,PHP如何获取临时文件的目录路径

    PHP获取临时文件的目录路径,可以通过tempnam()和sys_get_temp_dir()函数来实现. 下面我们结合简单的代码示例,给大家介绍PHP获取临时文件的目录路径的方法. 代码示例如下:& ...

  2. 如何使用Node.js获取当前脚本的路径?

    我如何获得Node.js中脚本的路径? 我知道有process.cwd ,但这只是指调用脚本的目录,而不是脚本本身. 例如,假设我在/home/kyle/运行以下命令: node /home/kyle ...

  3. Python获取当前脚本绝对路径

    Python脚本有一个毛病,当使用相对路径时,被另一个不同目录下的py文件中导入时,会报找不到对应文件的问题.感觉是当前工作目录变成了导入py文件当前目录.如果你有配置文件的读取操作,然后都放在一个p ...

  4. [spring]maven项目中获取resources资源目录路径

    项目的资源目录路径如下: package com.zzj.spring.boot.util; import java.io.*; import java.util.Properties; public ...

  5. python2.7获取当前脚本目录

    本文实例讲述了Python获取运行目录与当前脚本目录的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 import os import ...

  6. Android 文件外/内部存储的获取各种存储目录路径

    前言 对于任何一个应用来说,无论是PC端应用还是Android应用,存储肯定是必不可少的.对于很多做Android开发的同学来说,可能认为文件存储很简单,调用一些诸如getFilesDir,getEx ...

  7. 转--Android 文件外/内部存储的获取各种存储目录路径

    前言 对于任何一个应用来说,无论是PC端应用还是Android应用,存储肯定是必不可少的.对于很多做Android开发的同学来说,可能认为文件存储很简单,调用一些诸如getFilesDir,getEx ...

  8. php获取上级绝对目录路径

    echo __FILE__ ; // 获取当前所在文件的绝对路径及地址,结果:D:\aaa\my.php echo dirname(__FILE__); // 取得当前文件所在的绝对目录,结果:D:\ ...

  9. python获取当前脚本所在路径并在此基础上创建新的文件路径

    代码 运行

最新文章

  1. CVPR 2020夜间行人检测挑战赛两冠一亚:DeepBlueAI团队获胜方案解读
  2. 云从科技上交大提出DCMN+ 模型,在多项阅读理解数据集上成绩领先
  3. python脚本实例手机端-python链接手机用Python实现命令行闹钟脚本实例
  4. SQL点点滴滴_UPDATE小计
  5. python图片二进制流转换成图片_python将图片二进制数据转换成Django file对象
  6. ssh中添加隧道,访问目标机器上的地址
  7. 目标检测特殊层:ROI Align层详解
  8. 算法导论——排序算法
  9. iOS开发总结(A0)- MultipeerConnectivity
  10. mysql_fetch_row()获取显示数据
  11. 关于ESD的一些知识
  12. QT 打开PDF文件或图片文件
  13. 聚合支付公司利楚扫呗获得腾讯、蚂蚁亿元入股
  14. onap桂林版部署教程
  15. 万语千言,不敌一纸情书
  16. 最大熵模型的特征函数及约束条件
  17. 文件大小单位Bytes, KB, MB, GB, TB, PB等及换算关系,英语怎么说?
  18. macOS安装homebrew cask 问题解决办法
  19. 华硕编程竞赛11月JAVA专场 G题飞行棋 题解
  20. 微信内浏览器不支持下载APK文件的解决方案 微信中点击链接调用外部浏览器打开

热门文章

  1. locust入门:单机使用locust运行压力测试
  2. 2022-2028年中国汽轮发电机行业市场深度分析及发展趋势分析报告
  3. 2019半年总结:Teams are powerful
  4. linux pytorch 快速安装
  5. 操作系统学习笔记 第四章:存储器管理(王道考研)
  6. nvGRAPH API参考分析(二)
  7. 推荐系统的个性化排名
  8. 单目摄像头检测6D姿态
  9. go系列(5)- beego自己写controller
  10. 一篇文章让你读懂Pivotal的GemFire家族产品