|
60鱼币
文件需要归集,路径为“Z:\1\2\4K\待分”,文件存于各个文件夹中,格式为“.mp4",每个文件夹里都有文件的描述文本“新建文本文档.txt”,根据文本中的一个属性“出演者”,在另外一个位置"Z:\1\2\4K\",新建以该属性命名的文件夹,并将文件移入其中,比如文件的属性为“出演者:大白”,则在对应位置新建文件夹“大白”,该属性位于描述文件”新建文本文档.txt"的第4行,如何实现
以下是用百度AI助手的问答:
描述文本是这样的:
根据您的描述,您需要将位于路径 "Z:\1\2\4K\待分" 下的文件归集到另一个位置 "Z:\1\2\4K\"。归集的目标位置是以文件描述文本中的属性 "出演者" 命名的文件夹。
以下是实现这个功能的Python代码:
- import os
- source_dir = r"Z:\1\2\4K\待分"
- target_dir = r"Z:\1\2\4K"
- # 遍历源文件夹
- for root, dirs, files in os.walk(source_dir):
- for file in files:
- if file.endswith(".mp4"):
- # 读取文件描述文本
- description_path = os.path.join(root, "新建文本文档.txt")
- if not os.path.exists(description_path):
- continue
- with open(description_path, "r") as f:
- lines = f.readlines()
- # 获取属性行的内容
- performer_line = next((line for line in lines if line.startswith("出演者")), None)
-
- if performer_line is not None:
- performer = performer_line.split(":")[1].strip()
- # 根据属性创建目标文件夹
- performer_dir = os.path.join(target_dir, performer)
- os.makedirs(performer_dir, exist_ok=True)
- source_file_path = os.path.join(root, file)
- target_file_path = os.path.join(performer_dir, file)
- # 移动文件到目标文件夹
- os.rename(source_file_path, target_file_path)
复制代码
请将代码中的 source_dir 和 target_dir 修改为实际的路径。
这段代码使用了 os.walk() 函数来遍历源文件夹中的文件和子文件夹。对于每个文件,它会首先判断文件是否以 ".mp4" 结尾,如果是,则读取对应的文件描述文本。然后,在描述文本中找到属性行 "出演者",提取出属性的值。接下来,根据属性的值创建目标文件夹,并将文件移动到目标文件夹中。
注意,通过 os.makedirs(performer_dir, exist_ok=True) 创建目标文件夹时,设置 exist_ok=True 可以避免在目标文件夹已存在的情况下产生错误。
希望这个代码可以帮助到您。如有需要,请根据实际情况进行调整。
球一个最佳答案谢谢啦!这对我非常重要!  
|
-
-
最佳答案
查看完整内容
根据您的描述,您需要将位于路径 "Z:\1\2\4K\待分" 下的文件归集到另一个位置 "Z:\1\2\4K\"。归集的目标位置是以文件描述文本中的属性 "出演者" 命名的文件夹。
以下是实现这个功能的Python代码:
请将代码中的 source_dir 和 target_dir 修改为实际的路径。
这段代码使用了 os.walk() 函数来遍历源文件夹中的文件和子文件夹。对于每个文件,它会首先判断文件是否以 ".mp4" 结尾,如果是,则读取对应的文件描述文本。然后,在 ...
|