python 3.xを使ってyymmという名前の最新のフォルダを取得する方法はありますか? 特定のディレクトリ内にabc1708、abc1707、xyz1709のようなフォルダ名があるとします。 xyz1709から1709を選択するには、これは3つのフォルダの中で最新のものですから?ディレクトリ内の最新のyymmを持つフォルダを取得するには?
任意のコードがはるかに...事前に 感謝を理解されるであろう。..
python 3.xを使ってyymmという名前の最新のフォルダを取得する方法はありますか? 特定のディレクトリ内にabc1708、abc1707、xyz1709のようなフォルダ名があるとします。 xyz1709から1709を選択するには、これは3つのフォルダの中で最新のものですから?ディレクトリ内の最新のyymmを持つフォルダを取得するには?
任意のコードがはるかに...事前に 感謝を理解されるであろう。..
dirnames = ['abc1708', 'abc1707', 'xyz1709']
max(dirnames, key=lambda x: int(x[-4:]))
ディレクトリ名リストは、4桁の数字で終わらない名前が含まれている場合は、これらすべてを取り除く必要があります上記のコードを実行する前に名前を入力してください:
dirnames = ['a', 'abc1708', 'abc1707', 'xyz1709', 'nonumbers']
def check_dir_name(f):
try:
digits = f[-4:]
if len(digits) != 4:
return False
int(f[-4:])
except:
return False
return True
# first filter out bad directory names:
good_dirnames = [x for x in dirnames if check_dir_name(x)]
# now run the code on "good names" only:
max(good_dirnames, key=lambda x: int(x[-4:]))
「どのようにxyz1709から1709を選択するか」という意味は? –
@AGNGazer特定のディレクトリをループし、最新のyymmを含むフォルダ名を取得する必要があります。 – King
最後に、私は私の質問の最終回答を策定しました。 (x - 4): フォルダ=(次のos.walk( 'C:\ Python34 \\ PyScript'))[1]) folderName =(max(フォルダ、キー=ラムダx:int )))) result = re.sub(r '[az] +'、 ''、folderName) print(結果) – King