【Python】使うべきではない名前の一覧を取得する

Python では test.py という名前で保存してはいけないというのは有名な話です。
理由は標準の test パッケージを上書きしてしまうからですね。
test --- Python 用回帰テストパッケージ Python 3.7.3 ドキュメント

test の他にも標準で多くの名前空間が使われています。
それらを取得する方法をまとめました。

キーワード(予約語)

keyword --- Python キーワードチェック Python 3.7.3 ドキュメント

print(__import__('keyword').kwlist)  

組み込み関数

組み込み関数 Python 3.7.3 ドキュメント

dir(__builtins__)  

標準&導入済パッケージ/モジュール

pkgutil --- パッケージ拡張ユーティリティ Python 3.7.3 ドキュメント

import pkgutil  
print(sorted(m.name for m in pkgutil.iter_modules()))  

上記全て

和集合を取ってソートしたものを出力

import pkgutil  
keywords = set(__import__('keyword').kwlist)  
builtins = set(dir(__builtins__))  
modules = set(m.name for m in pkgutil.iter_modules())  
print(sorted(keywords | builtins | modules))  

参考