If you said they key will turn but because the shackle not open. The best you can do it spray a can of Nut-Z lube or Nuts-Off as both of these can to loosen rusted or corrosion. What you do it spray into the keyway and around the shackle leave it over night. Than get a can of Brake fluid or Carburetor cleaner spray that into the keyway and around the shackle. Repeat this a few time or whatever it take. If you get the shackle open than do the same again to clean the inside.
I use to have a few lock that was so rusted that i finally got them to open. It take time but it work….Timothy…