有人能告诉我如何以跨平台的方式在Python中获取路径的父目录.例如
C:\Program Files ---> C:\
Run Code Online (Sandbox Code Playgroud)
和
C:\ ---> C:\
Run Code Online (Sandbox Code Playgroud)
如果目录没有父目录,则返回目录本身.问题可能看似简单,但我无法通过谷歌进行挖掘.
A = os.path.join(os.path.dirname(__file__), '..')
B = os.path.dirname(os.path.realpath(__file__))
C = os.path.abspath(os.path.dirname(__file__))
Run Code Online (Sandbox Code Playgroud)
我通常只是用实际路径来硬连线.但是这些语句在运行时确定路径是有原因的,我真的很想了解os.path模块,所以我可以开始使用它.
我有一个用django1.3创建的小项目,我想将它迁移到django1.4,但由于文件结构稍有变化,迁移的最佳方法是什么?
我正在寻找n
从给定目录上移目录的pythonic方法。
假设我们有示例路径/data/python_env/lib/python3.6/site-packages/matplotlib/mpl-data
。如果要上移n=2
目录,我们应该以结尾/data/python_env/lib/python3.6/site-packages
。
以下是向上移动n
目录的工作:
up_n = lambda path, n: '/'.join(path.split('/')[:-n])
Run Code Online (Sandbox Code Playgroud)
但是,它不是很可读,并且在Windows计算机上的路径失败。从本质上讲,它并不是一个非常Python的解决方案。
是否有更好,更Python化的解决方案,也许使用该os
模块?