Python:将文件上移一个目录

af7jpaap  于 2023-02-20  发布在  Python
关注(0)|答案(3)|浏览(127)

下面是一个小的测试例程,它获取一个文件的路径,并将该文件向上移动一个目录。我正在使用os和shutil模块,有没有一个模块可以执行这个任务?有没有更像Python的方法来实现这个功能?
下面的代码是在windows上运行的,但是最好的跨平台解决方案会更受欢迎。

def up_one_directory(path):
    """Move file in path up one directory"""
    head, tail = os.path.split(path)
    try:
        shutil.move(path, os.path.join(os.path.split(head)[0], tail))
    except Exception as ex:
        # report
        pass
byqmnocz

byqmnocz1#

这与@thierry-lathuille的答案相同,但不需要shutil

p = Path(path).absolute()
parent_dir = p.parents[1]
p.rename(parent_dir / p.name)
fcg9iug3

fcg9iug32#

从Python 3.4开始,你可以使用pathlib模块:

import shutil
from pathlib import Path

    
def up_one_dir(path):
    try:
        # from Python 3.6
        parent_dir = Path(path).parents[1]
        # for Python 3.4/3.5, use str to convert the path to string
        # parent_dir = str(Path(path).parents[1])
        shutil.move(path, parent_dir)
    except IndexError:
        # no upper directory
        pass
qcuzuvrc

qcuzuvrc3#

使用此命令向上移动一个目录:

file_path = os.getcwd()
os.chdir("..")
folder_path = os.getcwd()
shutil.copy(file_path, folder_path)

相关问题