How do I access a local folder through its filenam

2019-02-18 21:06发布

问题:

I have a folder that is my animation/game, and in the folder is the .pyw file and a .wav music file. I have

import wave
wave.open()

and I don't know what to put in the parenthesis. I know it is supposed to be the filename, but someone might install the game in an unknown directory. How do I access the local folder through the filename?

The files are in the same folder, and the music is named "Music.wav".

回答1:

A common way this is done is by using the path of the current module, which is automatically available in the predefined__file__variable, to determine the path to the file in the subdirectory:

import os
import wave

mydir = os.path.dirname(__file__)
subdir = 'sounds'
wavefilepath = os.path.join(mydir, subdir, 'Music.wav')
wave.open(wavefilepath)