使用列表查找和移动指定文件 - python 2.7

2024-06-10 22:39:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我见过很多人问关于搜索文件夹和创建一个文件列表的问题,但我没有找到任何有助于我做相反的事情。在

我有一个csv文件,包含文件及其扩展名列表(xxx0.laz、xxx1.laz、xxx2.laz等)。我需要通读这个列表,然后在文件夹中搜索这些文件。然后我需要把这些文件移到另一个文件夹。在

到目前为止,我用csv创建了一个列表。一开始我对这个单子有点麻烦。每行末尾都有一个“\n”,因此我删除了这些。从我发现的另一个例子。。。[How do I find and move certain files based on a list in excel?。所以我从列表中创建了一个集合。但是,我不太确定为什么或者我是否需要它。在

所以我得到的是:

id = open('file.csv','r')
list = list(id)
list_final = ''.join([item.rstrip('\n') for item in list])
unique_identifiers = set(list_final)

os.chdir(r'working_dir') # I set this as the folder to look through
destination_folder = 'folder_loc' # Folder to move files to
for identifier in unique_identifiers:
    for filename in glob.glob('%s_*' % identifier)"
        shutil.move(filename, destination_folder)

我一直想知道glob函数的这个('%s\*'%identifier)。我还没有找到任何与此相关的例子,也许这需要改变?在

当我这么做的时候,我什么也得不到。没有错误,也没有实际的文件移动。。。在

也许我走错了路,但这是我到目前为止在任何地方发现的唯一的东西。在


Tags: 文件csvtoin文件夹列表formove
1条回答
网友
1楼 · 发布于 2024-06-10 22:39:30

其实并不难:

for fname in open("my_file.csv").read().split(","):
    shutil.move(fname.strip(),dest_dir)

你不需要很多东西。。。在

如果你只想把所有的*.laz文件放在一个源目录中,你根本不需要一个csv。。。在

^{pr2}$

相关问题 更多 >