【问题标题】:Removing folders from filepaths (python)从文件路径中删除文件夹(python)
【发布时间】:2018-02-26 12:24:20
【问题描述】:

如何使用 python 从文件路径中取出文件之前的上一个文件夹?我的意思是我想要这样:

C:\Projects\ProjectX\Stuff\File1\File1.jpg

成为

C:\Projects\ProjectX\Stuff\File1.jpg

编辑:如果文件已经在“Stuff”文件夹中,之后没有任何子文件夹,那么我想保留文件路径。

【问题讨论】:

  • 脱文件,脱文件夹,添加文件:os.path.join(dirname(dirname(filepath)), basename(filepath))。见os.path.basenameos.path.dirname
  • 谢谢,我搞定了!
  • 但是,如果我希望该代码检查是否有需要删除的额外文件夹,并且该项目已经在“Stuff”文件夹中,那么将文件路径保留为它是?假设我们的下一个文件是 C:\Projects\ProjectX\Stuff\File2.jpg,如果我运行代码,它将更改为 C:\Projects\ProjectX\File2.jpg。 “Stuff”文件夹是我想要始终保留的文件夹。
  • 编辑或创建新问题或搜索帮助

标签: python file-handling directory


【解决方案1】:

您可以使用shutil 将文件从一个地方传输到另一个地方

import shutil
shutil.move("C:\Projects\ProjectX\Stuff\File1\File1.jpg", "C:\Projects\ProjectX\Stuff\File1.jpg")

您可以简单地关注this 帖子中的答案。

【讨论】:

    【解决方案2】:

    你也可以试试这个:-

    from pathlib import PureWindowsPath
    import os
    path = "your path here till file"
    file_name = path.split('\\')[-1]
    p = PureWindowsPath(path)
    new_extension = os.path.join(p.parents[1],file_name)
    print(new_extension)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-02
      • 2022-01-12
      • 2014-12-11
      • 1970-01-01
      • 1970-01-01
      • 2012-10-13
      • 1970-01-01
      相关资源
      最近更新 更多