使用os.path

要获取包含脚本的目录的父目录(无论当前工作目录如何),您需要使用__file__.

from os.path import dirname, abspath

d = dirname(dirname(abspath(__file__))) # /home/kristina/desire-directory

基本上,您可以通过根据需要多次调用os.path.dirname来走向目录树.例:

In [4]: from os.path import dirname

In [5]: dirname('/home/kristina/desire-directory/scripts/script.py')

Out[5]: '/home/kristina/desire-directory/scripts'

In [6]: dirname(dirname('/home/kristina/desire-directory/scripts/script.py'))

Out[6]: '/home/kristina/desire-directory'

如果要获取当前工作目录的父目录,请使用os.getcwd:

import os

d = os.path.dirname(os.getcwd())

使用pathlib

您还可以使用pathlib模块(可用于Python 3.4或更新版本).

每个pathlib.Path实例都有父属性引用父目录,以及parent属性,它是路径的祖先列表. Path.resolve可以用来获得绝对路径.它还解析所有符号链接,但如果不是所需的行为,则可以使用Path.absolute.

Path(__ file__)和Path()分别表示脚本路径和当前工作目录,因此为了获取脚本目录的父目录(不考虑当前工作目录),您将使用

from pathlib import Path

# `path.parents[1]` is the same as `path.parent.parent`

d = Path(__file__).resolve().parents[1] # Path('/home/kristina/desire-directory')

并获取当前工作目录的父目录

from pathlib import Path

d = Path().resolve().parent

请注意,d是一个Path实例,它并不总是方便.您可以在需要时轻松将其转换为str:

In [15]: str(d)

Out[15]: '/home/kristina/desire-directory'

python表示当前目录_从Python脚本获取当前目录的父项相关推荐

  1. python 时间序列预测_使用Python进行动手时间序列预测

    python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...

  2. python 概率分布模型_使用python的概率模型进行公司估值

    python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...

  3. python当前目录是什么意思_Python获取当前目录的方法之总结

    测试 #!/usr/bin/env python3 # -*- coding: utf-8 -*- import os import sys print(__file__) print(os.path ...

  4. python 查看当前目录_「Python」打包分发工具setuptools学习

    ❝ setuptools是python标准的打包分发工具,它可以将我们编写的python项目打包安装,这样其他同事就可以像调用标准库或python第三方库那样直接使用:也可以将项目上传到Pypi供更多 ...

  5. python临床数据_从临床试验中获取数据

    我正在开发一个小Python函数来从clinicalTrials.gov中获取数据.从每个研究记录中,我想从中找出研究的目标条件.例如,对于this研究记录,我需要以下内容:conditions = ...

  6. 用python当壁纸_使用Python脚本将Bing的每日图片作为桌面的教程

    微软最近出了个 必应bing 缤纷桌面,使用下来还是不错,可以每天更换Bing首页的北京作为壁纸,但是该软件有个不好的地方是,安装后桌面上会有一个搜索框出现,很是烦人,而且不能关掉.于是出于技术考虑, ...

  7. python证书过期_简单python脚本监控SSL证书到期提醒

    随着https的普及,或者说被强制使用,需要维护的SSL证书越来越多,而且由于各种原因吧,需要在各种不同的平台申请维护证书,时间长了,总有证书忘记续签 有些使用了letsencrypt自动续签,但是某 ...

  8. python异步教程_【Python 异步编程入门】

    本文是写给 JavaScript 程序员的 Python 教程. Python 的异步编程,其他人可能觉得很难,但是 JavaScript 程序员应该特别容易理解,因为两者的概念和语法类似.JavaS ...

  9. python系统监控_使用Python监控Linux系统

    阅读目录 一.Python编写的监控工具 一.多功能系统资源统计工具dstat 1.dstat介绍 dstat是一个用Python语言实现的多功能系统资源统计工具,用来取代Linux下的vmstat. ...

最新文章

  1. cx_Oracle.DatabaseError: ORA-12514
  2. linux文件类型为ext4怎么扩展,如何扩展ext4分区和文件系统?
  3. javascript等待异步线程完成_JavaScript 中的异步原理
  4. [转]轻松掌握Ajax.net系列教程十六:使用DropDownExtender
  5. verilog 生成块_如何高效的编写Verilog——终极版
  6. Container 布局容器
  7. OpenHarmony移植:XTS子系统之应用兼容性测试套件
  8. java 蓝桥杯算法训练 未名湖边的烦恼
  9. iOS程序-UIScrollView的基本使用
  10. 程序员制作epub电子书
  11. 涉及到的数据安全技术包括哪些内容
  12. ECMAScript基础
  13. Linux 多线程 Pthread 互斥量
  14. 测试属性4 –准确性
  15. gcc-c++安装—使用系统自带的源yum install gcc-c++和本地源进行相应的安装
  16. Willy Woo:BTC作为新兴“完全数字化”资产类别正在吞噬资本
  17. 简单说一linux内核的内存模型(平坦,不连续,稀疏等三种内存模型)
  18. 如果手里有现金,是提前还房贷还是买基金?
  19. 纳维斯托克方程_托克如何检验其网络安全性
  20. Flash与3D编程探秘(一)- Flash与3D空间

热门文章

  1. 药品研发 计算机系统验证,基于验证的药品研发项目申报系统的设计
  2. 学计算机之路写一篇作文,我的学习之路作文(2篇)
  3. ant design 预览图片_AntD框架的upload组件上传图片时遇到的一些坑
  4. C语言学习及应用笔记之二:C语言static关键字及其使用
  5. AI应用开发基础傻瓜书系列目录
  6. java 类型推理_java 11 局部变量类型推断
  7. 宽量程电压电流 stm32_电压、电阻知识点汇总
  8. 如何做电脑桌面应用_CAD批量转PDF?一分钟教会你CAD如何转PDF,两种方法任你选择!...
  9. 大家对Java的一些误解
  10. Java学习路线,你值得了解