2 Bytes = 16 Bits
Adding a bit of code so that I can understand how the wave module works:
#!/usr/bin/env python3
import wave,struct,math
waveFile = wave.open("/home/pi/Music/second_stupidest_birthday_ever.wav", "rb")
frames = waveFile.getnframes() # total number of frames / samples
rate = waveFile.getframerate() # number of frames / samples per second (should be 44100 Hz (44.1 kHz) for CD-quality audio)
length = frames / int(rate) # length in seconds
channels = waveFile.getnchannels() # number of channels (should be 2 channels (stereo) for CD-quality audio)
width = waveFile.getsampwidth() # sample width / bit depth (should be 2 bytes (16 bits) for CD-quality audio)
print("Total Number of Frames: " + str(frames))
print("Frames Per Second: " + str(rate))
print("Total Number of Seconds: " + str(length))
print("Total Number of Channels: " + str(channels))
print("Bytes Per Frame: " + str(width))
Running the program produces the following output:
pi@raspberrypi:~ $ bin/get_wav_info.py
Total Number of Frames: 2028600
Frames Per Second: 44100
Total Number of Seconds: 46.0
Total Number of Channels: 2
Bytes Per Frame: 2
I was surprised that wave expresses the bit depth in bytes, not bits!
Frequency
Since you're asking about frequency specifically, waveFile.getframerate() returns the frequency in number of samples per second, generally expressed in hertz (Hz) or kilohertz (kHz).
Please note that the sample rate and the bit depth apply to each channel.
This means that the total bit rate of a 2-channel, 44.1kHz, 16-bit wav file will be:
2 x 44100 x 16 = 1411200 bits per second = 1411.200 megabits per second