import os.path
testcases = [
'foo.bar.baz',
'foo.bar',
'foo'
]
def to_lower_basename(path):
"""Converts only filename to lowercase."""
path, ext = os.path.splitext(path)
head, tail = os.path.split(path)
return head + tail.lower() + ext.upper()
for testcase in testcases:
print(f'{testcase} => {to_lower_basename(testcase)}')
aW1wb3J0IG9zLnBhdGgKCnRlc3RjYXNlcyA9IFsKCSdmb28uYmFyLmJheicsCgknZm9vLmJhcicsCgknZm9vJwpdCgpkZWYgdG9fbG93ZXJfYmFzZW5hbWUocGF0aCk6CiAgICAiIiJDb252ZXJ0cyBvbmx5IGZpbGVuYW1lIHRvIGxvd2VyY2FzZS4iIiIKICAgIHBhdGgsIGV4dCA9IG9zLnBhdGguc3BsaXRleHQocGF0aCkKICAgIGhlYWQsIHRhaWwgPSBvcy5wYXRoLnNwbGl0KHBhdGgpCiAgICByZXR1cm4gaGVhZCArIHRhaWwubG93ZXIoKSArIGV4dC51cHBlcigpCiAgIApmb3IgdGVzdGNhc2UgaW4gdGVzdGNhc2VzOgoJcHJpbnQoZid7dGVzdGNhc2V9ID0+IHt0b19sb3dlcl9iYXNlbmFtZSh0ZXN0Y2FzZSl9Jyk=