ディレクトリには、多かれ少なかれ次のような名前のファイルがたくさんあります。
001_MN_DX_1_M_32
001_MN_SX_1_M_33
012_BC_2_F_23
...
...
Python では、ディレクトリから特定の文字列で始まるファイルを選択するコードを作成する必要があります。たとえば、文字列が の場合001_MN_DX
、Python は最初のファイルを選択します。
どうすればいいですか?
import os
prefixed = [filename for filename in os.listdir('.') if filename.startswith("prefix")]
os.listdir
、os.path.join
およびを使用してみてくださいos.path.isfile
。
長い形式 (for ループを含む) では、
import os
path = 'C:/'
files = []
for i in os.listdir(path):
if os.path.isfile(os.path.join(path,i)) and '001_MN_DX' in i:
files.append(i)
コード、リスト内包表記は
import os
path = 'C:/'
files = [i for i in os.listdir(path) if os.path.isfile(os.path.join(path,i)) and \
'001_MN_DX' in i]
長い説明については、こちらをご覧ください...
import os, re
for f in os.listdir('.'):
if re.match('001_MN_DX', f):
print f
osモジュールを使用して、ディレクトリ内のファイルを一覧表示できます。
例:名前が001_MN_DXで始まる現在のディレクトリ内のすべてのファイルを検索します
import os
list_of_files = os.listdir(os.getcwd()) #list of files in the current directory
for each_file in list_of_files:
if each_file.startswith('001_MN_DX'): #since its all type str you can simply use startswith
print each_file