相关疑难解决方法(0)

跨平台拆分python中的路径

我想要一些效果与此相同的东西:

>>> path = "/foo/bar/baz/file"
>>> path_split = path.rsplit('/')[1:]
>>> path_split
['foo', 'bar', 'baz', 'file']
Run Code Online (Sandbox Code Playgroud)

但这也适用于Windows路径.我知道有一个os.path.split()但是没有做我想做的事情,我没有看到任何事情.

python

19
推荐指数
4
解决办法
2万
查看次数

在 Python 中截断路径

有没有办法在 Python 中截断长路径,以便它只显示最后几个目录?我以为我可以使用 os.path.join 来做到这一点,但它只是不那样工作。我已经编写了下面的函数,但很想知道是否有更 Pythonic 的方法来做同样的事情。

#!/usr/bin/python

import os

def shorten_folder_path(afolder, num=2):

  s = "...\\"
  p = os.path.normpath(afolder)
  pathList = p.split(os.sep)
  num = len(pathList)-num
  folders = pathList[num:]

  # os.path.join(folders) # fails obviously

  if num*-1 >= len(pathList)-1:
    folders = pathList[0:]
    s = ""

  # join them together
  for item in folders:
    s += item + "\\"

  # remove last slash
  return s.rstrip("\\")

print shorten_folder_path(r"C:\temp\afolder\something\project files\more files", 2)
print shorten_folder_path(r"C:\big project folder\important stuff\x\y\z\files of stuff", 1)
print shorten_folder_path(r"C:\folder_A\folder\B_folder_C", 1)
print shorten_folder_path(r"C:\folder_A\folder\B_folder_C", …
Run Code Online (Sandbox Code Playgroud)

python windows path python-2.7

4
推荐指数
2
解决办法
3517
查看次数

获取不带文件名的文件路径

给定文件路径

/path/to/some/file.jpg
Run Code Online (Sandbox Code Playgroud)

我怎么会

/path/to/some
Run Code Online (Sandbox Code Playgroud)

我正在做

fullpath = '/path/to/some/file.jpg'
filepath = '/'.join(fullpath.split('/')[:-1])
Run Code Online (Sandbox Code Playgroud)

但我认为这容易出错

python

-1
推荐指数
1
解决办法
73
查看次数

标签 统计

python ×3

path ×1

python-2.7 ×1

windows ×1