gpt4 book ai didi

python - 将文件从一个文件夹复制到另一个文件夹,并在 .txt 文件中使用匹配的名称

转载 作者:太空宇宙 更新时间:2023-11-03 20:35:19 29 4
gpt4 key购买 nike

我想根据 .txt 文件中的匹配文件名将文件从一个大文件夹复制到另一个文件夹。

我的 list.txt 文件包含文件名:

S001
S002
S003

另一个大文件夹包含许多前文件。 S001、S002、S003、S004、S005

我只想从这个大文件夹中复制与我的 list.txt 文件中的文件名相匹配的文件。

我尝试过 Bash、Python - 不起作用。

for /f %%f in list.txt do robocopy SourceFolder/ DestinationFolder/ %%f

也不起作用。

我的 Python 逻辑不起作用:

import os
import shutil

def main():

destination = "DestinationFolder/copy"

source = "SourceFolder/MyBigData"

with open(source, "r") as lines:
filenames_to_copy = set(line.rstrip() for line in lines)

for filenames in os.walk(destination):
for filename in filenames:
if filename in filenames_to_copy:
shutil.copy(source, destination)

有 Bash、Python 或 R 的答案吗?

谢谢

最佳答案

我认为你的Python代码的问题是,使用os.walk()你的filename每次都会是一个列表,在你的filenames_to_copy中找不到它。

我建议尝试使用 os.listdir() ,因为这将以字符串形式返回文件名/文件夹名称列表 - 更容易与您的 filenames_to_copy 进行比较。

其他注意事项 - 也许您想在源而不是目标上执行 os.listdir() (或 os.walk())。目前,只有当文件已存在于目标中时,您才将文件从源复制到目标。

关于python - 将文件从一个文件夹复制到另一个文件夹,并在 .txt 文件中使用匹配的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57202159/

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