I want to open the font in folder 1 and folder 2. I wrote openOTF.py
to open them.
Desktop
├── openOTF.py
├── 1
│ ├── CMBSY7.otf
│ ├── CMBSY8.otf
│ └── CMBSY9.otf
├── 2
│ ├── CMCSC8.otf
│ └── CMCSC9.otf
this is openOTF.py
import fontforge as ff
import os
folders = ["1/", "2/"]
for folder in folders:
os.chdir(folder)
print(os.getcwd())
files = os.listdir("./")
for font in files:
print(font)
f = ff.open(font)
print(f.path)
os.chdir("../")
but this is the output of python open-otf.py
, which cannot find CMCSC8.otf
in folder 2
, in fact it want to search /home/firestar/Desktop/1/CMCSC8.otf
:
/home/firestar/Desktop/1
CMBSY9.otf
/home/firestar/Desktop/1/CMBSY9.otf
CMBSY8.otf
/home/firestar/Desktop/1/CMBSY8.otf
CMBSY7.otf
/home/firestar/Desktop/1/CMBSY7.otf
/home/firestar/Desktop/2
CMCSC8.otf
The requested file, CMCSC8.otf, does not exist
Traceback (most recent call last):
File "/home/firestar/Desktop/open-otf.py", line 12, in <module>
f = ff.open(font)
OSError: Open failed
it seems that os.chdir("../")
changed the path to folder 2
but fontforge did not change the path (still in folder 1
).