Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
allendowney
GitHub Repository: allendowney/cpython
Path: blob/main/Tools/unicode/listcodecs.py
12 views
1
""" List all available codec modules.
2
3
(c) Copyright 2005, Marc-Andre Lemburg ([email protected]).
4
5
Licensed to PSF under a Contributor Agreement.
6
7
"""
8
9
import os, codecs, encodings
10
11
_debug = 0
12
13
def listcodecs(dir):
14
names = []
15
for filename in os.listdir(dir):
16
if filename[-3:] != '.py':
17
continue
18
name = filename[:-3]
19
# Check whether we've found a true codec
20
try:
21
codecs.lookup(name)
22
except LookupError:
23
# Codec not found
24
continue
25
except Exception as reason:
26
# Probably an error from importing the codec; still it's
27
# a valid code name
28
if _debug:
29
print('* problem importing codec %r: %s' % \
30
(name, reason))
31
names.append(name)
32
return names
33
34
35
if __name__ == '__main__':
36
names = listcodecs(encodings.__path__[0])
37
names.sort()
38
print('all_codecs = [')
39
for name in names:
40
print(' %r,' % name)
41
print(']')
42
43