There are a few packages you may want to look into for handling audio: commonly soundfile is used for I/O, as is librosa. The 'sampling rate' AKA 'frame rate' is the number of audio samples per second, commonly written in kHz, but in software just given in Hz.
There's also a dedicated Sound Design StackExchange which you may find more fruitful to search.
Taking a section of a file is known as 'seeking', and the soundfile.SoundFile class supports it.
The idea is you move the position of the 'cursor' to a particular frame, SoundFile.seek(pos), then read in some frames, SoundFile.read(n_frames), after which the position of the cursor will be moved along by that many frames, which you can obtain with SoundFile.tell().
Here's an example of accessing a part of a wav file:
import soundfile as sf
def read_audio_section(filename, start_time, stop_time):
    track = sf.SoundFile(filename)
    can_seek = track.seekable() # True
    if not can_seek:
        raise ValueError("Not compatible with seeking")
    sr = track.samplerate
    start_frame = sr * start_time
    frames_to_read = sr * (stop_time - start_time)
    track.seek(start_frame)
    audio_section = track.read(frames_to_read)
    return audio_section, sr
...and to write that to file you just use soundfile.write (note: a function in the package, not a method of the soundfile.SoundFile class)
def extract_as_clip(input_filename, output_filename, start_time, stop_time):
    audio_extract, sr = read_audio_section(input_filename, start_time, stop_time)
    sf.write(output_filename, audio_extract, sr)
    return