Python 如何使用正则表达式在文件夹中查找文件并将其移动到其他文件夹

Python 如何使用正则表达式在文件夹中查找文件并将其移动到其他文件夹,python,Python,我想通过将某组文件移动到现有文件夹来组织我的文件 我已经创建了一个正则表达式代码,用于标识要移动的文件。然后我循环浏览了目录。我现在需要将所有已识别的文件移动到已存在的文件夹中 以下是我目前掌握的代码: import shutil, os, re fileContent = re.compile(r'''^(.*?)? (content) (.*?)$ ''', re.VERBOSE) for f

我想通过将某组文件移动到现有文件夹来组织我的文件

我已经创建了一个正则表达式代码,用于标识要移动的文件。然后我循环浏览了目录。我现在需要将所有已识别的文件移动到已存在的文件夹中

以下是我目前掌握的代码:

import shutil, os, re

fileContent = re.compile(r'''^(.*?)?
                (content)
                (.*?)$
                ''', re.VERBOSE)

for file in os.listdir('../Documents'):
    mo = fileContent.search(file)

    shutil.move(mo, '../Documents/Writing')
正在抛出一条错误消息,该消息表示

TypeError:stat:path应为字符串、字节、os.PathLike或 整数,不是非类型


我不知道如何解决这个问题。

您需要将代码更改为类似的内容,这将检查mo是否在尝试移动之前返回值

导入shutil、os、re
fileContent=re.compile(r'')^(.*)?
(内容)
(.*?)$
'',重复冗长)
对于os.listdir(“../Documents”)中的文件:
mo=fileContent.search(文件)
如果(mo):
shutil.move(mo,“../Documents/Writing”)

我有几个问题,首先你能告诉我是什么内容,其次是哪行代码导致了错误。作为旁注,请在代码块中格式化代码为什么不使用glob而不是regex?@ChrisOH我需要匹配的所有文件中都有“content”一词。@ChrisOH第22行,在shutil.move(mo,“../Documents/Writing”)File“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/shutil.py”,第556行,在move if _samefile(src,dst):File“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/shutil.py”中,第88行,在_samefilereturn os.path.samefile(src,dst)File“/Library/Frameworks/Python.Frameworks/Versions/3.7/lib/python3.7/genericpath.py”中,第96行,在samefile s1=os.stat(f1)中TypeError:stat:path应该是字符串、字节、os.PathLike或整数,而不是NoneType@ChrisOH这是以上错误消息的大部分。很抱歉格式不好。所以我假设是最后一行代码导致了错误:shutil.move(mo,../Documents/Writing')。谢谢你,克里斯!