如何使用 python 获取已安装的 windows 字体列表?

How to get a list of installed windows fonts using python?

愚蠢的问题,但我如何获得计算机系统上所有字体名称的列表?

这只是列出 Windows\fonts 中的文件的问题:

import os

print(os.listdir(r'C:\Windows\fonts'))

以上答案将列出 /Windows/fonts dir 中的所有字体路径。但是,有些人可能还想获得 the font title, its variations i.e., thin, bold, and font file name etc? 这是相关代码。

import sys, subprocess

_proc = subprocess.Popen(['powershell.exe', 'Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts"'], stdout=sys.stdout)
_proc.communicate()

现在,对于那些想要字体路径的人来说。这是使用 pathlib.

的方法
import pathlib

fonts_path = pathlib.PurePath(pathlib.Path.home().drive, os.sep, 'Windows', 'Fonts')
total_fonts = list(pathlib.Path(fonts_path).glob('*.fon'))
if not total_fonts:
    print("Fonts not available. Check path?")
    sys.exit()
return total_fonts

你也可以使用 tkinter,它比在 C:\Windows\fonts 中列出字体更好,因为 windows 也可以在 %userprofile%\AppData\Local\Microsoft\Windows\Fonts

中存储字体