Python 习语与多次调用 os.path.dirname 获得相同的结果?

2024-01-17

我发现自己需要在源树中获取 python 文件的父目录,该源树是具有一定规律性的多个目录。必须多次调用 dirname 很笨拙。

我环顾四周,很惊讶没有找到关于此的帖子。

一般场景是:

import os.path as op
third_degree_parent = op.dirname(op.dirname(op.dirname(op.realpath(__file__))))

有没有更惯用的方法来执行此操作,不需要嵌套的目录名调用?


规范化相对路径;os.pardir https://docs.python.org/2/library/os.html#os.pardir是父目录,根据需要重复多次。它可以通过os.path.pardir too:

import os.path as op

op.abspath(op.join(__file__, op.pardir, op.pardir, op.pardir))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 习语与多次调用 os.path.dirname 获得相同的结果? 的相关文章

随机推荐

  • 绕过 Angular URL 路由

    如何绕过 Angular 提供的路由 例如 在我的角度路由设置中 我设置了 routeProvider otherwise redirectTo someurl 我希望某个请求 由用户单击 HTML 中的某个链接生成 发送到我的网络服务器
  • NSURLConnection 在 401 状态下重试

    我正在与服务器通信 该服务器验证密码并返回无效密码的 401 错误 以及指定失败尝试次数的 json 正文 每次验证失败时 服务器都会增加该数字 我面临的问题是 当 NSURLConnection 收到 401 响应时 它会启动涉及这些委托
  • 在使用 IE 8 的 Windows 7 上运行 WatiN 时遇到问题

    当我在带有 IE8 的 Windows 7 上运行任何 WatiN 测试时 请注意 所有测试都在带有 IE8 的 Vista 上通过 浏览器显示第一页 但不再继续 几秒后出现以下异常 WatiN Core Exceptions Timeou
  • 在纯 JavaScript 中加载多个 JSON 文件

    我是 JavaScript 新手 我已经了解如何使用 JSON Parse 从 JSON 文件创建对象 现在我需要将多个本地 JSON 加载到数组中 我已经在谷歌上搜索我的问题一段时间了 但我发现的所有内容都与单个 JSON 文件相关 有没
  • 用于 CSV 的基于 Spring Batch Java 的 FileItemWriter

    我有一个包含 ItemWriter 的 Spring Batch 服务 用于将数据写入 CSV 我使用了 Spring Batch 指南给出的示例 https spring io guides gs batch processing htt
  • 在 JavaScript 中将项目推入多维树状结构

    我有一系列对象 它们的情况如下 var obj id 23 name Test1 children id 24 name Test2 children id 25 name Test2 children 每个孩子可以有多个子孩子 所以基本上
  • 如何使用 HEAD 和任何合并工具解决所有冲突

    因此 由于某种原因 我与新的合并修补程序发生了很多冲突 实际 手动 更改的文件没有冲突 所有冲突都在修复过程中未触及的文件中 显然是空格问题 稍后我会尝试解决该问题 但现在我需要合并修补程序并进行部署 如何解决所有冲突以使用 HEAD 版本
  • 在 64 位操作系统中使用 glMultiDrawElements

    我最近从32位环境迁移到64位环境 除了一个问题之外 一切都很顺利 glMultiDrawElements使用一些在 64 位操作系统下不进行一些调整就无法工作的数组 glMultiDrawElements GL LINE LOOP fCo
  • Vavr 对象的序列化器/反序列化器

    您好 我正在尝试将 vavr 添加到我的项目中 现在我正在努力解决 Vavr List 对象的正确序列化问题 下面是我的控制器 import io vavr collection List GetMapping value xxx publ
  • 具有 varchar id 的 Doctrine2 实体不会将 id 插入数据库

    我正在尝试在 ZF2 应用程序中为 Doctrine2 创建实体 我的实体应该有 id varchar 15 但是当我尝试创建新行时 doctrine2 不会将此 ID 推送到数据库中 在实体生成的类中我有这个 Checkpoints OR
  • React - 模块解析失败

    从命令行运行 webpack 时 我一整天都遇到此错误 ERROR in index js Module parse failed home kuro Workspace ExpressJS corate src index js Line
  • Angular.JS:为什么无法编辑输入?

    这是一个奇怪的问题 代码很简单 HTML 代码 ul ul
  • 如果内容超过一定限制,PHP 电子邮件会中断

    我正在使用 PHPmail 发送每日通知电子邮件 但我注意到 如果存储邮件内容的字符串太长 则电子邮件会被中断 即收到的电子邮件中只会显示部分内容 当内容字符串很短时 电子邮件将是完整的 看来 PHP 对字符串的长度有一些限制 我尝试使用e
  • 如何在单击时将按钮图像从打开切换到关闭,反之亦然?

    我一直在尝试通过添加打开状态的图像和添加关闭状态的图像来将按钮的状态从打开切换到关闭 反之亦然 我尝试通过 xml 但是我只能在单击时临时切换它 通过使用按下 焦点等 这是相同的代码 片段 贾斯汀
  • Emacs:仅在迷你缓冲区中禁用行截断

    我在用IDO模式 http www emacswiki org emacs InteractivelyDoThings用于 Emacs 23 中的文件和缓冲区切换 如果目录中有超过一行的文件 以下选项允许调整迷你缓冲区的大小 setq re
  • Windows 中的自签名证书无需 makecert?

    我们有一个收缩包装类型的 Windows 服务器应用程序 我们需要在服务器上创建一个自签名证书以供某些 WCF Web 服务使用 从我们在网络上的搜索来看 Microsoft PlatformSDK 中的 makecert 实用程序似乎无法
  • Python 类中的公共变量?

    我现在正在自学 Python 课程 并发现了这个页面 http www tutorialspoint com python python classes objects htm http www tutorialspoint com pyt
  • Flutter:如何获取 Firestore 中集合的所有文档名称

    我使用 Firestore 在 Flutter 中制作了一个应用程序 现在我将浏览集合中的所有文档 我想获取文档名称 id 和文档字段 并对其执行某些操作 我已经制作了一个显示数据的列表视图 但我无法用它做一些事情 例如 将其添加到列表或其
  • 多线程应用程序执行 onclickBtn 后挂起

    我正在 javaFx 中编写一个天气应用程序 从 openweather org 获取数据 从 openweather 获取 JSON 的整个代码工作正常 也将 JSON 数据转换为对象 我使用lambda表达式来实现Runnable in
  • Python 习语与多次调用 os.path.dirname 获得相同的结果?

    我发现自己需要在源树中获取 python 文件的父目录 该源树是具有一定规律性的多个目录 必须多次调用 dirname 很笨拙 我环顾四周 很惊讶没有找到关于此的帖子 一般场景是 import os path as op third deg