2017-02-10 13 views

回答

3

這將列出具有相同名稱但不同的擴展名的所有文件。

import glob 
print glob.glob("E:\\Logs\\Filename.*") 

您可以改用此檢查。

import glob 
if glob.glob("E:\\Logs\\Filename.*"): 
    print "Found" 

請參閱this的帖子。

0

這將得到所有你想要的基本名(在這種情況下,「TMP」),帶或不帶擴展名的文件,將排除的東西,你的基本名稱開始 - 就像tmp_tmp.txt例如:

import re 
import os 

basename='tmp' 
for filename in os.listdir('.'): 
    if re.match(basename+"(\..*)?$", filename): 
    print("this file: %s matches my basename"%filename) 

或者當然,如果你喜歡它們在列表中,更簡潔的:

[fn for fn in os.listdir('.') if re.match(basename+"(\..*)?$",fn)] 
2

試試這個。

import os 

def check_file(dir, prefix): 
    for s in os.listdir(dir): 
     if os.path.splitext(s)[0] == prefix and os.path.isfile(os.path.join(dir, s)): 
      return True 

    return False 

你可以調用這個函數等,例如,check_file("/path/to/dir", "my_file")搜索表單/path/to/dir/my_file.*的文件。

1

您可以使用fnmatch

import os 
import fnmatch 

print filter(lambda f: fnmatch.fnmatch(f, "Filename.*"), os.listdir(FilePath)) 

在這裏,無需格式化FilePath。您可以簡單地寫入'C:\Python27\python.*'

相關問題