如何在 python 中使用 glob 来搜索特定文件夹

How to use glob in python to search through a specific folder

我目前正在编写一小段代码,我想通过用户输入的文件夹并根据特定条件重命名其中的所有文件。

目前,用户使用此代码输入文件名:

src = input("Please enter the folder path where the files are located")

然后,我使用 glob 模块重命名满足特定条件的文件,例如:

for f in glob.glob("*reference*" + "*letter*"):
    new_filename = "203 Reference Letter" + " " + name  
    os.rename(f,new_filename)

现在,如果 .py 脚本位于包含所有文件的文件夹中,那么所有这一切都将完美运行,但是我的问题如下:我如何基本上组合上面的 2 位代码?基本上,我该怎么做才能让用户输入文件路径,然后 glob 模块采用该路径并重命名该文件夹中的文件?

非常感谢任何帮助!谢谢!

您可以使用 os.path.join 将用户输入加入所需的模式:

import os.path

src = input('Please enter the folder path where the files are located: ')
if not os.path.isdir(src):
    print('Invalid given path.')
    exit(1)

path = os.path.join(src, '*reference*letter*')
for f in glob.glob(path):
    new_filename = '203 Reference Letter {}'.format(name)
    os.rename(f, new_filename)

我不知道glob中使用的模式是什么,但基本上你将用户输入文件夹加入任何模式。