如何使用Python更仔细地搜索文件?

2024-04-28 02:22:35 发布

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

我从一个用户那里得到一个文件名&为他/她上传文件,我的问题是由于我的代码,用户应该输入文件名来上传它,但我想更仔细地搜索&上传所有文件,他们的名字就像用户输入的名字,我怎么能写它而不是这个代码?你知道吗

示例:当用户输入Biology时,程序应该上传像Campbell Biology、My Biology或。。。你知道吗

我需要一些类似SQL语句的东西。。。你知道吗

try:
    requested_file = open(str(args[0]) + '.pdf', 'rb')

Tags: 文件代码用户程序示例sql文件名my
1条回答
网友
1楼 · 发布于 2024-04-28 02:22:35

似乎您想要获取包含用户输入的特定搜索字符串的所有文件。有两种选择,第二种比第一种更彻底。你知道吗

选项1
可以使用glob.glob函数传递通配符:

import glob

search = ... # your term here
for files in glob.glob('*%s*.pdf' % search):
    ... # do something with file

选项2
re.search+os.listdir。您可以遍历当前目录并使用regex进行筛选。你知道吗

import os
import re

pattern = re.compile('.*%s.*\.pdf' %search, re.I)
for files in filter(pattern.search, os.listdir('.')):
    ... # do something with files

第二个选项为您提供了更多的灵活性。glob受通配符语法的限制。你知道吗

相关问题 更多 >