我從用戶&上傳文件給他/她,我的問題是,由於我的代碼,用戶應該輸入文件名來上傳它,但我想更仔細地搜索&上傳所有文件他們的名字就像用戶輸入的名字,我如何寫它而不是這個代碼?如何在Python中更仔細地搜索文件?
例如:當用戶類型生物學的PROGRAMM應上傳就像坎貝爾生物學文件,我的生物還是...
我需要這樣的東西在SQL語句...
try:
requested_file = open(str(args[0]) + '.pdf', 'rb')
我從用戶&上傳文件給他/她,我的問題是,由於我的代碼,用戶應該輸入文件名來上傳它,但我想更仔細地搜索&上傳所有文件他們的名字就像用戶輸入的名字,我如何寫它而不是這個代碼?如何在Python中更仔細地搜索文件?
例如:當用戶類型生物學的PROGRAMM應上傳就像坎貝爾生物學文件,我的生物還是...
我需要這樣的東西在SQL語句...
try:
requested_file = open(str(args[0]) + '.pdf', 'rb')
它似乎你想要獲得包含用戶輸入的特定搜索字符串的所有文件。有兩種選擇,第二種比第一種更徹底。
選項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
。你可以遍歷你的當前目錄並用正則表達式過濾。
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
受限於通配符語法。
謝謝我的朋友... –
@AliBahaari你也可以upvote對你有幫助的答案。乾杯。 –
我想用方案用戶可能最終上傳大量他們不想上傳的私人文件。 – ForceBru
@ForceBru程序搜索文件併發送給他們不是用戶... –
你可以使用正則表達式或glob與通配符。 –