因此,我有一个文件夹中的几千pdf文件在/路径,我有一个名为names.csv数以百计的名单(只有一列,它可以很容易成为.txt)。选择目录中的文件,并根据文件名的文本列表移动它们
我想选择(并理想地,移动)pdfs,其中名称来自names.csv在任何文件名中找到。
从我的研究,到目前为止,好像listdir同时和正则表达式是一个方法至少得到我想要的文件的列表:
import os, sys
import re
for files in os.listdir('path'):
with open('names.csv') as names:
for name in names:
match = re.search(name, files)
print match
但目前这只是返回“无”“无”一直下降。
我可能在这里犯了一堆错误。而且我甚至不需要移动文件。但我只是希望克服这个第一个驼峰。
任何意见是非常感谢!
谢谢。是的,我认为'如果字符串中的子串'可以工作,但不知何故,我误入正则表达式,对于我躺着的一些旧的工作示例抱着相当不合逻辑的态度。 我会根据您的建议来解决这个问题。感谢bazillion! – 1rick
为了跟上这一点,我根据您的意见开展工作。虽然我确实在*移动文件*部分,所以我最终用'print filename'替换了那一行。从那里开始,我为移动过程使用了一个完全独立的脚本,在for循环中使用'shutil.move(name,destinationfolder)'。 无论如何,感谢您在这个宝贝步骤中的指导。 :) – 1rick