2017-02-10 14 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 

フォーム/path/to/dir/my_file.*のファイルを検索するために、例えば、check_file("/path/to/dir", "my_file")、のように、この関数を呼び出すことができます。

1

あなたも、FilePathをフォーマットする必要はありませを

ここ
import os 
import fnmatch 

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

fnmatchを使用することはできません。 'C:\Python27\python.*'のように書くことができます

関連する問題