gpt4 book ai didi

Python:如何获取文件的完整路径以便移动它?

转载 作者:行者123 更新时间:2023-11-28 17:03:38 24 4
gpt4 key购买 nike

我有压缩文件。我用 Zip-7 解压缩了它们,所以它们位于具有 zip 文件名的文件夹中。

这些文件夹中的每一个都有一个 .otf 或 .ttf(有些两者都有),我想从它们中取出并移动到另一个文件夹。

我尝试了几种获取文件完整路径的方法,但每一种方法都忽略了文件实际所在的文件夹。

这是我最近的尝试:

import os
import shutil
from pathlib import Path

result = []

for root, dirs, files in os.walk("."):
for d in dirs:
continue
for f in files:
if f.endswith(".otf"):
print(f)
p = Path(f).absolute()
parent_dir = p.parents[1]
p.rename(parent_dir / p.name)
elif f.endswith(".ttf"):
print(f)
p = Path(f).absolute()
parent_dir = p.parents[1]
p.rename(parent_dir / p.name)
else:
continue

其他尝试:

# parent_dir = Path(f).parents[1]
# shutil.move(f, parent_dir)

#print("OTF: " + f)
# fn = f
# f = f[:-4]
# f += '\\'
# f += fn
# result.append(os.path.realpath(f))

#os.path.relpath(os.path.join(root, f), "."))

我知道这很简单,但我就是想不通。谢谢!

最佳答案

您应该将文件名与路径名 root 连接起来:

for root, dirs, files in os.walk("."):
for d in dirs:
continue
for f in files:
if f.endswith(".otf"):
p = Path(os.path.join(root, f)).absolute()
parent_dir = p.parents[1]
p.rename(parent_dir / p.name)
elif f.endswith(".ttf"):
p = Path(os.path.join(root, f)).absolute()
parent_dir = p.parents[1]
p.rename(parent_dir / p.name)
else:
continue

关于Python:如何获取文件的完整路径以便移动它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52669172/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com