GTTS .save method

Hello,

I made this python script to help my nephew learn numbers.
It works, but I don’t know how to point the output file to a subdirectory of the home directory without providing an absolute path. The .save method of gtts doesn’t seem to understand the symbols ~ or $HOME

Running Example:

import time
import os
from gtts import gTTS

os.system('mkdir -p ~/JJcountingTTS')

number=1

while(number<=100):
    print('                                ',number)
    numberString=str(number)
    output=gTTS(text=numberString, lang='en',slow=False)
    output.save('./JJcountingTTS/number.mp3')
    os.system('mpg123 -q ./JJcountingTTS/number.mp3')
    time.sleep(1.5)
    number=number+1

Non Running Examples:

import time
import os
from gtts import gTTS

os.system('mkdir -p ~/JJcountingTTS')

number=1

while(number<=100):
    print('                                ',number)
    numberString=str(number)
    output=gTTS(text=numberString, lang='en',slow=False)
    output.save('~/JJcountingTTS/number.mp3')
    os.system('mpg123 -q ~/JJcountingTTS/number.mp3')
    time.sleep(1.5)
    number=number+1

import time
import os
from gtts import gTTS

os.system('mkdir -p ~/JJcountingTTS')

number=1

while(number<=100):
    print('                                ',number)
    numberString=str(number)
    output=gTTS(text=numberString, lang='en',slow=False)
    output.save('$HOME/JJcountingTTS/number.mp3')
    os.system('mpg123 -q $HOME/JJcountingTTS/number.mp3')
    time.sleep(1.5)
    number=number+1

I am curious if anyone that might have run into something like this knows a solution?

Thanks!

Searching the web provided this:
https://docs.python.org/3/library/pathlib.html#pathlib.Path.home

from pathlib import Path
home = str(Path.home())
3 Likes