2017-01-25 11 views
1

で完全には知られていないファイル名を持つファイル:アクセス私は名前のようなもので、ファイルの巨大なデータベースを持っているのpython

XYZ-ABC-K09235D1-20151220-5H1E2H4A.txt 
XYZ-ABC-W8D2S5G5-20151225-HG2EK4GE.txt 
XYZ-ABC-ME2C5K32-20160206-DD8BA4R6.txt 
etc... 

名はすべて同じ構造を持っている:

'XYZ-ABC-' + 8 random char + '%y%m%d' + 8 random char + '.txt' 

、私が必要日付を指定してファイルを開く。ポイントは、その中にいくつかのランダムな文字があるので、私はファイルの正確な名前を知らないということです。例えば、日時2014年12月5日のために私は、ファイル名が

XYZ-ABC-????????-20140512-????????.txt 

のようなものになりますが、 f.openコマンドを使用しているとき、私は正確な名前がわからない知っています。これを行う最善の方法は何でしょうか? (私は最初にすべてのファイル名でリストを作成することを考えましたが、それは良いテクニックか、 glob ...のようなものを使う方が良いかどうかわかりません)。前もって感謝します。

+0

'glob'はそれを行うべきですが、' f.open'とは何ですか? – cdarke

答えて

2

あなたは以下のコード

import os fileName = [filename for filename in os.listdir('.') if filename.startswith("prefix") and 'otherstring' in filename]

を使用することができますが、この情報がお役に立てば幸い!

+0

ありがとう!これにより、正しいファイル名が再構成されます。しかし、 '['と']を使用してfileName文字列を生成します。たとえば' print 'ファイル名 ''' '[' XYZ-ABC-1W5G46EE-20150317-55CA1E2S.txt '] '...のように分割します。それはうまく動作します:) – urgeo

+0

ええ、私は実際に私のマシンで試していない。私はちょうど同じ瞬間にコードを書きました。ありがとう:) –

関連する問題